, $4.95 OCTOBER 1988
OF
SINCLAIR COMPUTERS
The Sinclair QL
-a 32 bit CPU Powerhouse!
The TS-2068 Workte3<
1317 Stratford Ave. I
^nama City, FL 32404 I 904 871 3556
News and New Products
A Christmas Wish for
n SPECTERM-64(TS-4.1)
300/1200 Terminal Software for T/S2068
On JLO. AERCQ. t arlcpn disk or tape.
Only S25.00 + S2.50 S&H
ALSO
[] Z~SI/0^ Bare Boards
RS-232C Serial Interface for T/S2068
With FREE 2050 card
Only S24.50 + S2.50 SSrH
OR BOTH FOR ONLY
$50.00 inc. S&H
( OinsiK W connains sraicsi S6.S0 StH I
LARKEN Disk Harduare;
[ ] liRKEN Disk System
includes LARKEN Floppy Disk Interface. LKDOS (v.3)
Cartridge, Operating Manual and LKDOS Utiities' Disk
Only S120.00 + S5.00 S^H
[ ] LKDOS Cartridge for 10
Specially configured LKDOS (v.3) Cartridge that
works with your JLO SAFE Disk hardware. Includes
Operating Manual and LKDOS Utilities' Disk,
Only S65.00 + S3.50 S&H
[ ] LARKEN Raidisk
No RAM chips are incltjdpd. You can add up
to 256K to this Nonvolatile Ramdisk. Easy to use
as a floppy disk with LKDOS.
Only S60.00 + S3.50 S&H
[] Tandon TMlOl-4 Quad
Disk Drives
These disk drives are brand new in factory
sealed cartons. They are double sided,
double density, 98 tpi (quad), full height
drives. They are compatible with JLO,
LKDOS, AERCO and QL disk systems.
$45.00 + $5.00 S&H
Buy 2. Get FREE Drive Cable!
Buy 3, Get 4th for Half Price!
Buy 4, Get One Disk Drive FREF!
C 3 Cable (2dr)..S12.50+S2.50
Hayes Compatible HODEHS
[ 3 Avatex 2400 <3/12/2400)....S179
For CP/M, IBM and other systems.
[ 3 Avatex 1200hc (300/1200). S99
For T/S2068 <w/ Z-SI/O) and QL.
[ 3 Avatex 1200<P> (300/1200U...S125
<:P>ocket size for the Z88.
[ ] Avatex 1200-=:E:> (300/1200).^ S85
Great for SPECTERM-64!
Epson Compatible PRINTERS
[ 3 Seikosha 1200AI (120/25)..S199
[ 3 Seikosha 180AI (100/20)..S169
[ 3 Star NX1000 (144/34)....S229
All modems add $3.50 for SSrH, all printers add
$10.00 for S&H {Canada double S&H on all items).
This Christmas Uish List is brought to you by:
Ed Gr^ey Enter^pr^ises
P.O. Box #2186, Inglewood, CA 90305
Info » 213-759-7406 « Order
Call Jke firey Met BBS & RCP/H (m-m-6260}
INDEX
UPDATE OCTOBER 1988 ISSUE
General Infornetion
Disk Libraries
4
Flea Market
70
Invitation to Writers
48
Issue Disks
6, 72
MDV Dubbing
6,72
North American User Group
8
SINCLAIR Z88
12
Supply Support 15,
Writer's Format
70-73
43
CLUBS
Boston Computer Society 27
CCATS Portland, CR 25
Milwaukee, WI TSUG 33
SINCUS, New York 8
Toronto, Canada TSUG 33
Vancouver, Canada TSUG 17
ADVERTISING RATE SCHEDULE page 77
ZX APPEAL 17
SINCUS NEWS 8
PLOTTER 25
BoSlUG 27
SINC-LINK 33
QZX 40, 17
UPDATE SOFTWARE LIBRARY page 74
TS-2068 Articles and Subjects
Align Decimals 11
Color Screens Copy 9
Disk Multi Mgr (Oliger) 21
Extra Memory Recap 49
Extra Memory, Charles Bothner 50
Graphics LFRINT 25
Hex Printer Dump 25
INTeger Function 11
Interface for Color Copy 9
LFRINT CHR$ 25
MAX DOS 3 Stacked DOS's 2
MSCRIPT for LKDOS 34
m ERR Tutorial 14
a>EN#, CLOSES, Streams 36
Ckimate 20 Printer 9
PRINT USING 11
Round Numbers UP 11
TOS DISK with OS-64 13
Teleconputing 41
Test Printer 25
UPDATE MAGAZIbE
QL Articles and Subjects
ARCHIVE Tutorial 56
Address File Program 44
Arithmetic for Kids 64
Beginner Course 30
CABLE Column 56
CABLE ISSUE DISK/MDV CART 69, 72
copy MDV Cartridge 23, 31
HELPER, Super Basic Tool Kit 63
Initializing SPEED SCREEN 23
Initializing TK2_ 23
Microdrive Fprmatting 23, 30
PRINT Primer 32
QL Tips 23
QUILL, Configure printer 31
QUILL, File Saver 29
QUILL, LLISTing with 31
RAM EXTENSION 19
REFIELD, a Major Software 60
SCAN, an ARCHIVE Software 65
Sound Experimenter 18
TAX Software to beat Deadline 15
TELEOOMPUTIM]; 17, 41
TELE00MPOTIN3 with PACKET 42
TOOL KIT 2 28
OCrOBER 1988
HCW GOES IT, UPDATE??
UPDATE Magazine launches into the next
four years of publishing with near 100%
renewals of subscriptions, and a flood of
new subscribers, (lost gratifying are the
fnany favorable comments and good wishes
received with the subscription renewals.
Actually, subscribers more than trippled
since the last issue. It is difficult to
take score of QL users and TS-2068 users.
Around 2/3 of the subscribers are OL
owners, but half of them also own a
TS-2068.
MAX DOS Versas the IBM MS DOS
Versas QL DOS
In past writings I've kinda given the
IBM PC a bit of criticisms, mainly to
re-assure the TS-2068 and QL users that
they really aren't missing much by not
having a IBM Compatable machine. AND, we
need to feel good about what we are
doing! A letter came in from a
subscriber who was one of the original
designers of the IBM operating system.
He ask for anonymity, so I will quote
only half of his letter:
-Dear Bill, Enclosed please find my
1989 renewal. Unfortunately I do not run
any of the disk systems that you support,
however, the organization and the quality
of the articles in Update are well worth
the price. I have invested so much of
myself into SPDOS, using many of the
system components, that I cannot face
even evaluating another system. I am,
however, beginning to worry about
equipment failures. If you hear of any
MILLENNIA K disk systems available I
would appreciate a call. I could also
use a disk drive case with power supply
for two 5.25" drives.
I was Pleased to note your reaction to
MS DOS. In 1965 we were similarily
concerned about OS/360 (si mi liar
Philosophy) then being developed for the
main frame family. Two others and I
built the prototype virtual machine-
operating system at IBM Cambridge
Scientific Center.
INTEL has built a (8086) Virtual
Machine Facility into their 80386 chip
(Intel 231252-001) which now seems to be
UPDATE MAGAZINE
supported by VM/386, Perhaps when this
is' expanded to use paging and allow
VM/386 to run under VM/386 I may desert
the 2068 for purely personal reasons.
(Signature) "
To the writer, and others interested:
Thanks for your comments. The CUYAHOGA
VALLEY SOFTWARE WORKS, 615 School Ave,
Cuyahoga Falls, (DH ^221, is a group of
users and programmers using SPDOS and the
Millennia K Disk system. The address
given is that of Thomas Simon, one of the
leaders of the group. This group has
developed SPDOS on disk to load into and
operate with the TS-2068 Oliger Disk
System. SPDOS loads to RAM and is
co-resident with the Oliger DOS,
providing two disk formats and a
"combined" DOS Tool Kit language
structure, much more powerful than either
DOS.
The nice part for Oliger Disk owners
is that no additional hardware is needed.
All they need to do is order the SPDOS
Disk ($29.95 from address given) .
The nice part for the Millennia K
SPDOS users is that the Oliger disk
system provides a new "hardware home" .for
SPDOS, where all of their existing
software disks can be loaded and used in
an even more capable environment than
that of Millennia K.
So Friend, dont give up the ship. Just
add the Oliger Disk, which is less
expensive than an IBM controller card,
and you will continue to be comfortable
using SPDOS. Also I appreciate your nice
comments and your agreement with the
position I take on MS-DOS. There are not
too many who are willing to "buck the
tide" and tell it like it is, in the face
of the "MS DOS Compatability fraud" that
the industry has F>erpet rated upon the
public. People actually develop an
inferiority complex over not having a
"IBM Compatable" computer! By the way-
why dont you do some articles for UPDATE?
We could benefit form your expertise. The
next subject broadens upon this
discussion.
MAX DOS: (Reference article 1n UPDATE,
July 88 issue for background) . I have
continued to use the Oliger DOS and
UPDATE ^MGAZI^E
OCTOBER 1988
OCTOBER 1988
Larken DOS together, and have
experimented with stacking SPDOS "on top
of both", THREE Disk Operating systems
together. Actually the Larken DOS and
SPDOS have many of the same functions.
So there is not a great difference in the
capabilities of "Stacked 01 iger/ Larken"
and "Stacked 01 iger /SPDOS", so we could
dub the two "MAX DOS L" and "MAX DOS S"
So, I will continue to discuss MAX DOS
as the combo of "01 iger DOS Hardware
interface", and the "LARKEN LKDOS Dock
Cartridge". I have been operating with
this combination of hardware for the past
several months, hardly ever bothering to
remove the cartridge or the 01 iger B
board. A couple of months ago I received
a "loaner B board" from John 01 iger.
This one has a "EPROM OFF" switch, which
my earlier board did not have. The
significance of this added switch in the
MAX DOS environment is that the LARKEN
NMI functions will work when the OLIGER
EPROM is switched OFF. BUT, to use the
OLIGER NMI functions, you must remove the
LKDOS Cartridge. Now we need to convince
Larry Kenny to give us a little switch
modification to his LKDOS cart to do the
same, in order to allow the OLIGER NMI
functions to work as well.
Otherwise, MAX DOS is indeed a very
powerful DOS, despite the minor NMI clash
Now I dont want this to sound like
criticism, so will lead in with with
compliments. The LKDOS EXm BASIC
functions are SUPER! AND, so are the
01 i ger Extra Bas i c f unct i ons . When •
operating in the MAX DOS environment, one
can use ALL of BOTH system's extra basic
tool kit functions. The nice part is
that the LKDOS functions are speeded up
by the 01 iger system's faster disk
operation. This extra speed is most
not i cable when popping in screens from
disk, MERGING in program segments,
bringing in data files from disk and
saving data to disk.
The OPTIMUM disk drive situation is
TWO drives. One drive is used for
DISCRETE 01 iger DOS use, and the other is
for DISCRETE LKDOS use. Each are
"assigned their drive number" by either
programming in software or by direct
commands. EXAMPLE: LET/d=0 would assign
drive zero as an OLIGER DISK. AND-
UPDATE MAGAZI^E
PRINT m-.QO TO 1 - would assign disk 1 as
a LKDOS disk. From then on, the system
"remembers", and a LKDOS disk command
automatically accesses DRIVE 1, or a
01 iger DISK command will access disk
zero.
But that sounds like we have two
separate disk systems, which we have-.
We can load and operate disks that have
been produced by anyone's Larken or
01 iger system. And, we can Format and
prepare disks in either Larken or 01 iger
disk formats. BUT, we also have a
COMBINED SYSTEM. Programs may contain
any combination of DOS commands. Boot a
screen in from the 01 iger disk, or save a
file to the Larken disk. Programs that
contain BOTH DOS DISK commands may be
SAVED to either disk. AND, the operator
does not even need to think about which
disk will be operating. A Disk Command
in the software will automatically use
the proper disk, as designated by the
previous LET/d- and the PRINT #4: GO TO.
MAX DOS OF^ens up tremendous power for
programmers to use, employing all of the
command functions of two disk operating
systems in one or more programs to
command two disk drives. The software
can be controlling up to nearly 2 mega
bytes of disk capacity (2 80 track
drives) . Good planning can result in
"programs in one disk and Data in the
other disk" and keeping the program disk
write protected. SO- whether MAX DOS is
Larken DOS, or SPDOS- combined with the
Oliser system, it is one tremendous Disk
Operating System. All we need is for
more TS-2068 users to discover this.
THE QL DOS
The SINCLAIR QL DOS is excellent.
Nobody needs to feel inferior about using
the QL. I look at it this way. How many
IBM's have you seen that have a pair of
additional fast tape drives? It is made
even more powerful by the BIG Tool kit
functions available in ROM cartridges,
TRUMP CARD, and SANDY BOARD. Disk Drive
works with the QL with nothing more than
a Controller card, same as any other
system, but it is less expensive than any
other. Memory expansion is also less
expensive. Do we need IBM Compatability?
UPDATE NAGAZI^E
5
OCTOBER 1988
TS-2068 and SINCLAIR QL
ISSUE DISKS and MICO DRIVE DUBBING
The Issue Disk program for the TS-2068
will be carried on for support of the QL
users, but with a small difference.
TS-2068 programs and utilities given in the
UPDATE pages are actual listings given for
those who want to try keying in the
listings. Some are quite long and keying
in may not be very practical. Yet they are
there to try. QL utilities will be listed
for key-in also. But the software programs
for the QL are generally just too long for
practical key in projects and the listings
would take up too much page space. These
long QL programs will be written up as
"Mini Manuals" in UPDATE. Although, this
issue has one complete (but short) QL
software "Mail Merge" that will be listed
as a key in project. So, whether the QL
programs are listed or not will be
determined by their program length.
The ISSUE DISK for the TS-2068 programs
will include all of the software and
utilities of a given issue. The QL Issue
Disk will be variable, and will include at
least one major software and the utilities
given in the pages of the current issue.
Sometimes there will be two issue disks for
the QL users in one magazine issue^ It
just depertds upon the program len^t and
applications of the software.
PRICING: All Issue Disks for both
computers will be priced at $20,00. This
is an increase of $4.00 over past TS-2068
disk price because UPDATE was not breaking
even at $16.00 each. UPDATE supplies the
disks, does the recordings, pays the
mailing expenses, and shares half of the
proceeds of issue disk sales with the
authors of the programs. It really is a
non-profit situation for the magazine and
the authors don't realize more than a token
payment for their support of us all.
MICRO DRIVE ISSUE Recordings: Due to
the higher price of the cartridges and
their scarcity, UPDATE will provide Issue
Dubbing service. Those who want the
programs and utilities may send in a
BIRMATM^ MEiV Gai'tridge ami it will t«e
returned with the Issue programs recorded.
"Formatted" is emphasised because if the
user formats the cartridge first, he is
assured that the cart will take the
programs and there will be no mail delays.
The price for MDV dubbing will be the same,
$20.00 per named Issue Disk.
UNCONDITIONAL GUARANTEE: Subscribers
may be sure that these programs on disk or
mdv are worth the price or more. If not
not completely satisfied, the user may keep
the disk or cartridge and just ask for full
refund. Sometimes a software program may
require more documentation than UPDATE can
accommodate in the issue pages. PT^ER
documentation and the mailing of paper is
expensive, and the author may need to
charge extra for an extensive manual .
These instances will be announced.
Documentation within a disk or micro drive
is a much better method, where text can be
illustrated with screen examples, and the
text sent to a printer.
COPYRIGHTS
Unless specifically stated, all programs
presented in UPDATE magazine are the
property of the individual authors and are
protected by copyright. The authors give
their limited permission for publication in
UPDATE Magazine and for the distribution of
recorded copies to the purchasers of the
Issue Disk series. No other sale or
transfer of these programs are authorized
by anyone or any other publication. Some
Programs and utilities may be donated to
public domain by specific statements made
by the author within the text of the
programs presented in the magazine. In the
absence of such statements, the programs
are privil edged.
MICRO DRIVE V/S DISK: Both mediums are
excellent. A huge software may be recorded
on disk, but to use micro drive, such a
program would need to be broken down into
several individual segments, as is the four
PSION sof wares. By the same token, an
un-expanded QL can run large programs that
are broken down in "boot in segments".
Most large programs presented in UPDATE
will have two .versions, one for disk and
another for micro drive. All programs
presented will work on standard QL
computers, but some may have annexes to
expand into extra memory.
UPDATE MAGAZIl^
6
OCrOBER 1988
OCTOBER 1988
UPDATE MAGAZIISE
QL SUPPORT IN THIS ISSUE
Remember that UPDATE questionare? Well,
a tabulation reveals much about the QL
user's equipment and desires. About 60% of
present user have un-adomed QL computers-
no memor/ expansion, and micro drive only
as a storage device. Ihe other 40% have
disk and extra memory. Of the group, about
70% say that they need beginner level
programming information, tips, and
utilities to use. The 30% minority ask for
more sophisticated information about disk
drive, trump card tool kit programming,
more advanced software, conversion of IBM
MS DOS software, and other hi brow stuff.
UPDATE will try to accommodate all. This
issue begins a feature article titled,.
"THE QL BEGINNER COURSE". This series will
go on "forever". I guarantee that it will
because I'm the author. If you'll follow
this series you will learn how to program
the QL, and how to get the most out of the
four PSION Softwares. You'll learn it as I
learn it, because I am a novice on the QL.
But better stay up with each issue or
you'll get behind! I'm a mean and lean
TS-2068 programmer and learning the QL will
come naturally. So, start with me in this
issue and progress with me.
MEET some QL Programmers
Bill Cable, Wood and Wind Computing,
RR-2 Box 92, Cornish, NH 03745 (tel 603 675
2218) . I lead right off with a plug! This
is because I want you to know Bill. I want
you to know all of our supporters, dealers,
and publishers. Bill Cable is one of them
extraordinary programmers who specializes.
Bill is a QL dealer who developed a
customer base of businesses, selling QL
computers to medium and small business
people, and then supportir^ them with
custom software. Needless to say, his feet
were cut from beneath when Sinclair stopped
prxDduction and support of the QL. I am
sure that all QL users will encourage Bill
Cable to turn his programming efforts to
support the users. This issue brings in
one of Bill's outstanding softwares,
titled "REFIELD". This software is
designed to augument the PSION ARCHIVE to
make it infinitely more flexible and
powerful. REFIELD is presented in versions
for both Floppy disk and for Micro Drive,
and will occupy one of the two October
Issue Disks. REFIELD will also be offered
for Micro Drive Dubbing. See the last page
of this issue for details.
NE)Cr, another well known author and
programmer has invaded the QL Group. Bob
Hariiung has been a regular writer and
programmer for UPDATE since it's first
issue, but doing TS-2068 articles. Bob
continues to write and program for the
TB-2068 while producing for the QL as well.
Thats kinda like alternating between both
seats of a bicycle built for two while its
rolling downhill. Now get this! Bob's
"QL ADDRESS FILE" software, given in this
issue, is designed so that it works in
three different computers, the QL, the
TS-2068, and with Beta Basic in the
Spectrum. QL Address File is designed as a
simple program that works independently,
and is an excellent one to tackle as a
key-in project. Whatever, this one will
also be offered on disk and for micro drive
dubbing. See the last page for ordering
information.
BOB DIGGS KV3Q, a HAM Radio Operator,
has been tackling the QL and its problems
associated with Telecomputing, only on a
little different tack, with PACKET. This
gave me a chance to open up the subject,
"Telecomputing". Hope others join in to
cover Telecomputing in detail.
Finally, several re-prints of QL
articles from the various Sinclair User
Clubs are given in this issue. One of the
very best paths to learning computers is to
join a User Club, and participate. This
way, one meets folks who have like
interests in computing. Friendships are
formed and telephone numbers exchanged so
that help is but a few feet away at your
telephone. Some travel over a hundred
miles one way to attend User Group Club
meetings and benefit greatly from the
association. The idea is to form a
"special interest group" of QL users within
the special interest Sinclair Club. Then
you get together and exchange infomation
and tips, swap public domain software, and
copy programs from the club library. This
issue brings information about several live
wire clubs, and samples some of their
newletter articles. If there is not a club
listed near to your home, call me and I'll
put you in touch with one.
UPDATE MAGAZIbE
7
OCTOBER 1988
SINCUS PROGRAMS
Time Designs did the Timex Sinclair users
an excellent service by producing an up to date
listing of all Sinclair Timex Clubs, listing all
Club publications, and rating them on a scale of
from 1 downward. SINCUS NEWS, 1229 Rhodes Road,
Jol-nson City, NY 13790 copped FIRST PLACE.
Subscription is $8.00 per year (underpriced).
SINCUS provides more service to both members and
non members than just a good newsletter. See
clips below.
SINCUS OFFERENSS;
RENEW or Subscribe to SINCUS NEWS for
$8 per year. Send in a Mailing label of
either UPDATE, Time Designs, or Syncware
news and receive and extra issue of Sincus
News FREE, added to your subscription.
(Offer ends 12-31-88)
SINCUS TAPE/DISK LIBRARY: Write for
details (An OUISIANDItG BARGAIhJ- UPDATE
RECOMMENDS I ed)
SINCUS "Computus Interruptus"- a 63
page programming manual by Wes Brzozowski.
(UPDATE rates this as EXCELLENT) Comes in
two forms- a paper manual for $10 member or
$12 non member of SINCUS. or, a disk in 40
or 80 track Oliger or Larken Format- $5
member, or $6 non men±)er of Sincus.
SINCUS CLONE:- TS-2068 tape copier- $6
for tape and documentation.
The SEP/Od issue of SINCUS NEWS is in and
contains some very interesting stuffin. The
Editor gave UPDATE MAGAZItE some very
appreciated praise, for which I thank him for
profusely. BUT- he didn't get everything rightl
He said tliat UPDATE is "virtually a one man
show". Actually, about 75% of the red meat
pages in UPDATE is contributed by GUEST WRITERS.
(Count uml) The Editor does a few new utilities
and rambles on in editorials to give the UPDATE
its personality.
Without the generous participation of
expert writers, UPDATE would be just a little
nothing newsletter. The editor realizes that
some folks just don't like OPINIONS expressed in
editorials, so pages are piled on to make up for
editorial verbosity. So, Paul, Thanks, but
stand corrected. UPDATE is a "participating"
magazine, and owes its reputation to the writers
of fine articles, programs, and utilities.
The North American Sinclair Society
Now to slip out of the third person: Paul
Hill, editor of Sincus News, has some darn good
ideas about consolodation of publishing efforts
into ONE MONTHLY Magazine which would enconpass
all existing publications and all Qub
Newsletters. It's a good idea, Paul. What is
lacking is "Management Control", so that such a
publication would not become a "Sinclair
publishing monopoly", setting advertising rates
up to unfair prices, and reducing page (red
meat) content down to minimal in order to make
higher profits. But still, it is a good idea to
pursue, I would invision a Sinclair Timex
publication that would be managed and controlled
"by the user group".
WHAT USER GROUP? There is no organized
user group. ENTER "The North American Sinclair
Society", or some such named organization. The
Florida Groups coined "SNUG" which everyone has
trouble breaking down into prose. But WHATEVER,
we need a PARENT ORGANIZATION of Sinclair Timex
user groups of North America. ONLY When such a
parent group is formed can there be concerted
effort to do things for the good of all. This,
I believe is where all of the present User Group
officials should be working and coordinating. A
North American Group wont be formed without such
coordination amongst the existing strong clubs.
I cannot form a North American Group.
Neither can Tim Woods, or the other publishers.
We do not represent anyone. But, we stand by to
lend our support. You present officials of
Clubs DO represent people. Why dont you
establish direct coordination between Clubs and
form the North American Group? Vote in a
management board of officers who will operate as
a Senate to form up the charter and by-laws.
Use the existing publications as tools for
publicity membership drive, and COMMIT your owi
club ment)ers en-mass to become mendbers of the
North American Group.
THEN, wlien the North American Group is
fully formed and has establised a sense of
directions, it will be time to explore the idea
of a Single Publication, of ample size, to
become the voice of Sinclair Timex Conputing in
North America. Membership in the Parent Group
should carry with it a subscription to the Group
publication. UPDATE Magazine will cooperate if
the interests of the subscribers are guaranteed
to be fulfilled. So there you are. A gauntlet
has been thrown to the Officials of our current
Sinclair Timex Qute. Who will accept tlie
challange and assume leadership for
coordination? Its your move now.
8
UPDATE. MAGAZIhE
OCTOBER T988
OCrCBSR 19 BB
JPDATE MAGAZI.MB
EARL V DUNNINGTON
4356 KING THEODORE DR.
BOYNTON BCH. , FL 33436
PHONE .4^7732-6219
A SCREEEIM COPY 1 IM RUL.L. COLOR AMD MORE!
A REVIEW BY EARL DUNNINGTON
John McNichael has done it again! That
is improvecJ the capability of our 2068* s by
developing software that will make a fuU
color or black and white screen COPYi when
used with his interface* the OKIMATE 20
color printer* atid the Okimate Caminadare
Plug and Print nodule.
He has also developed two other pro-*
grams for this hardware. A Patch for Jack
Dohnay's MSCRIPT revisions V5/V5.2 and a
machine code OK I -DRIVER program that
supports the LLIST and LPRINT commands.
Each program is on a separate tape and were
* 8.95 each.
The Screen Copy program requires that
the screen be saved on tape with the SAVE
"name" SCREEN* command or the equivalent
SAVE "name" CODE 163B4i6912 command. The
options allow you to specify color or black
and whitet small or large sizev the
horizontal position on the paper, and the
number of copies to be made. After the
specified number of copies has been madei
you can again enter your choice of options
and either use the same screen or load a
new one. The small size produces a screen
copy 1.55" by 1.25". The large size is
3.15" by 2.55". Approximately 30 copies
can be made with each Color Ribbon -
($ 5.65) using the large size.
The black and white screen copy using
the black ribbon is much darker than that
produced by the 2040 printer. Howeveri
there is no shading for the different
colors like that produced by Zebra's
Z~PRINT 80 or like a color screen viewed on
a green screen monitor. Due to this the
color copy is a vast improvement, even
though a large block of paper color only
characters reproduces somewhat unevenly,
the colors being slightly darker along the
horizontal Juncture of each character line
with another. The individual pixels are not
apparent to the naked eye. For testing, I
used the third color screen from Knighted
Computers "NISHT GUNNER" (c) Digital
Integration. It has the following colorst
white, black, green, yellow, blue, cyan,
and red. I consider the rendition of the
ink colors, excellent. The instructions are
also excellent.
As I do not have Jack Dohany's revised
versions of MSCRIPT, I can not comment on
the Patch program, other than the
instructions seem very complete.
Thti OKI-DRIVER program is strictly
machine code. It loads in starting at
address 64874 and id 494 bytes in length*
The program is compatable with the Larken
DOS V3 and the Larken 256K RAM DISK. It is
also compatable with the Zebra FDD 3000
with TOS. As written the code is not re-
locatable and therefor is not compatable
with the Zebra OS-64 cartridge or any other
program using two display files. In
addition to supporting LLIST and LPRINT
there are options for sending printer
control codes with support for LPRINT only,
switch the character transposition off,
and switch backand forth from the big
printer to the 2040. If the 2040 is also
connected you can always use COPY. The
options and switches are made using RAND
USR commands. There are eight 2068
character codes that will print as
Commadore characters*
92 Always
95 Always
96 "A 1 nays
123 Alirays
124 In printer control code mode
125 Always
126 In printer control code mode
127 Always
The instructions for using the program are
excellent and quite complete. The utility
of the program would be greatly enhanced by
fronting the code with a BASIC loader and
code mover program to adjust the internal
Jumps and the calls to any location
desired.
The McMichael interface emulates a
Commadore serial port. It was originally
developed for use with the 2068 and the
Commadore four color pen 1520 plotter. The
interface can be purchased as bare board
($14), a kit with all parts ($20), or
assembled ($30). I ordered the kit. As I do
not have the Oliger expansion board, I also
9
riPDATF MAfiAZTNF.
OCTOBER 1988
OCTOBER 1988
UPDATE MAGAZINE
ordered the edge connector ($4.95). The
documentation is excellent and I had no
difficulty in assembly. Do not worry if you
think you may have a solder bridge between
pins 8 and 9 of U3. They are supposed to be
connected.
The OK I MATE 20 ($136) is an SO column
"State of the Art"i square 24 pint NLCl»
dot matrixi thermal color printer. It uses
color or black thermal ribbon cassettes.
Thermal paper without a ribbon cassette can
also be used (4-80 foot rolls $16). The
footprint is about 13" x 7" and is about
2" high. A tractor is built in for paper
with sprocket holes. Single sheets can also
be used. A serrated plastic edge is built
in for tearing roll thermal paper. The
pr inthead is removable for cleaning or re-
placement ($21.95) by the owner. The over-
all quality of construction appears to be
excellent and it is very quiet when print-
ing. There are printer control codes for
draft qualityi character size (Picat Elitei
Finei double width) « Italicsi Super and
Subscripts* underliningi reverse printingi
form feedi carriage returni line spacingi
starting position^ skip over perforationsj
and graphic modes.
The printer documentation, registra-
tion formt a color ribbon cassette* a black
ribbon cassettet computer paper i a order
form for suppliesi and the plug in printer
module are all contained in the Okimate
Commadore Plug and PrinT package ($79.95).
Dip switches in the module allow you to use
different international character sets.
I consider thisi for the price (total
about $270) one of the best full size
printer systems available for the 2068. It
could be improved by a color screen program
that would produce a printout twice the
present large size. The prices quoted are
approximate.
The OKIIiATE 20 and the Commadore Plug
and Print module can be purchased at TOYS R
USi Service tlerchandisei and Sears. Some
mail order computer supply houses also
carry them. Check the ads in Commadore
magazinesi Compute, and the Computer
Shopper.
Send a legal size SASE to:
John McMichael, 1710 Palmer Dr., Laramie
WY 82070
for an order form and price list. If you
enclose one dollar he will also send a
sample color screen copy.
UPDATE MAGAZINE
1 NIGHT 1
1 GUNNER
''6 BY ;g
)0 (|> DIQITfiL IHTEORRTION 1983
NIGHT GUNNER IS LORDING
Editor's note: 7Wo screen copies were supplied, one
a B&ff and another in full color. These are reproduced
below if full size. Unfortunate a B&W copy cannot do
Justice to the color screen so I will describe it. The
large print "NIGHT GUNNER' is in Cyanide on a bright
red background. The smaller print below is white, as
is the fancy border. The two bombers and ships below
are in bright yellow on a blue background. The knight
with pointed rapier is sketched in white. "Night gunner
is loading" is black print with green backgrxjund. The
colors and contrast are vivid, about what you would see
on screen, but with with no gaps between drawn pixel
lines. Focus is sharper than a screen image. "NIGHT
GUNNER' stands out on its background in a way that
looks three dimensional. This is the same size screen
copy as we are used to with other softwares. I would
suspect that if the printer could be put into an
expanded mode that the print out would cover a larger
area, as does other screen dumps. Only one gripe and
thats against Digital Integration,- "mat respectable
Air Force paints their aircraft YELLOff?'
10
OdCBER 1988
UPDATE MAGAZINE
THE ROUND UP
AN UPDATE PR0GRAMP1IN3 TUTCRIAL
This is a program designed for UPDATE
to demonstrate several abilities of dealing
with numbers. FIRST, the "INT" function
"ROUNDS DCWN" figures. All businesses do
the opposite, ROUNDING UP to the nearest
cent. This can make a busy department store
quite a few dollars during a day's ope^tion.
Next, PRINT USIN3 is a RON routine used
with some computers to "Format a Column of
Figures". Mr. Sinclair left PRINT USIN3 out
of his Sinclair Basic ROM. But anything
that a ROM routine can do can also be done
by programming in RAM. Here we use a little
routine that simulates a PRINT USIN3
function to print the dollar sign, then
print a column of figures with decimal
points aligned. Also, Zeroes are added when
necessary.
The use of INT (INTEGER) in math
calculations to assign the resultant to a
variable causes errors. The error is only
in the assignment to the variable. The
"Floating Point Calculation" has the right
value "in there somewhere", but a small
fraction is lost when INT is used in a
calculation. EXAMPLE: try this group of
direct commands: <IJST a- 1.0954><tJET b=INT
a> <IJST c=INr ( 100000* (a-b)) > <PRINT c>.
Floating point calc drops a tiny fraction
that can be troublesome. LINE number 9710
uses a litae "floating point k factor" of
.0001 and then adds .005 for "rounding up"
to the nearest cent.
Line 9712 adds a whole number if a
round-up changes 99 cents to $1.00. Then
the integer number and the decimal fraction
are assigned to a$ and b$ for printing.
This is because the TS-2068 prints decimal
numbers as "0.4", "0.25", which is not
convenient to print directly. The "SIR$"
function transfers a numeric value into a
literal value to place in a string. Try
this EXAMPLE: <I£T a=12> <LET a$=SIR$
aXFRINT a$>. Amazing, eh? Now lets go the
opposite way: <IET a$="386"><I£T a=VAL
a$><PRINT a>. Stupendous! ! Mess around
this way with SIR$ and VAL, and you'll get
good at using numbers in both sinple
variables and in string variables.
Next, line 9718 does a bit of "String
Slicing". Some of the odd presentations of
fractions may result in B$ being ".020". To
just present "cents", we chop off ths last
"0". Lets try that separately now: <LET
b$=".020><PRINr b$( TO 3) >. Or: <£JET
b$=b${ TO 3) XPRINT b$>. Try several other
examples like: <LET b$="I LOVE THIS"><PRINr
b$><IJST b$=b$( TO 6) XPRINT B$>.
Next, line 9720 "sums" the figures, but
only IF x=l. In the beginning we LET x=0.
So, each input figure is summed as they are
typed in. When we want to present the sum,
we type "s" instead of a number. Back at
line 9700, the input of "s" instead of a
number gives us an error (unless variable s
has been assigned a number). The error
trips the first ON ERR GO TO 9800. Then at
line 9800, the ERR is RESET, a line is
drawn, and a dollar mark is printed. Then
the GO TO 9710 processes the SUM to be
printed.
Finally, line 9770 prints the figures,
with all decimals aligned at your TAB
setting. A$ carries the WHOLE dollar value
and B$ carries the CENT value. Then line
9780 stops if the SUM has printed (x«l), or
line 9790 returns to pick up the next input .
number. ONE MCRE line needs to be
discussed. LItE 9700 has a second <0N ERR
GO TO 9706>, which is the next line in the
program. "STOP" creates the error so that
the ON ERR programming is cancelled (no open
ON ERR to mess you up later),
I
Now thats a lot of programming
functions in a few short BASIC lines, and
likely less memory is used than if Sinclair
had put the routines in ROM and given us a
PRINT USIN3 syntax to use. And, because it
is in BASIC programming in RAM, we can alter
it as needed to tailor the routine to our
needs. There are many ways you can modify
this utility to use as a SUB-ROUTI^E in your
programs. Change PRINT to LFRINT in line
9790 to put it on paper. But if you just
want a "Column Adder", use it the way it is.
' 9680>REM [ THE ROUNEHUP ]
[ Summing of Columns ]
[ PSBUDO PRINT USIN3 ]
9690 CLS : LET x=0: LET t=0: LET
tb«25:
REM [ variables are "t=Total.
tb=tab. x=switch that
turns on by ERROR for
totalling. ]
9691
UPDATE MAGAZI^E
11
OCTCBER 1988
OCTOBER 1988
9692 REM [ Lines through 9700
may be eliminated.
Then the input to
the routine would
be numbers assigned
to varable a.
9694 REM [ The Routine end is
line 9780. Change
line 9780 to RETURN
for Sub-routine use.
9697 REM
9700 ON ERR GO TO 9800: INPUT "K
ey in NuiriDer- or ""s"" for SUM
"tat ON ERR GO TO 9706: STOP
9706 ON ERR RESET s IF t=0 THEN
PRINT TAB tb-5;"$";
9710 LET b^IMT a: LETT c^INT (100
*(a-b+.0001+.005)): LET d«c/100
9712 IP c>99 THEN LET b«bfl: LEI
c=0: LET b$a''.00''
9714 IF c>=0 AND c<10 THEN LET b
$=".0"+SIK$ c
9716 IP c>9 THEN LET b$*".''+SIR$
cf"0"
9718 LET a$=STR$ b: IF LEN b$>3
THEN LET b$*b$( TO 3)
9720 IP x=0 IHBN LET t*t+b+(c/10
0)
9770 PRINT TAB tb-LEN a$ya$;b$
9780 IF x^l THEN LET x«0: STOP
9790 00 TO 9700
9800 ON ERR RESET : PRINT TAB tb
-4;" "'TAB tb-6;"$";.: LET
x=l: LET a«t: 00 TO 9710
;azine
UPDATE October 1988
Sinclair Z88
Ihis is really a CLUB Issue of UPDATE
If the reader has concluded that UPDATE is plaggerizing
and stealing articles for the various Club newsletters,
then the objective is missed completely. The reason for
the selected re-prints is to give samples of the excellent
material that is produced in these excellent club
publications. So, you get two benefits from these club
articles. First, you get the good articles to digest.
Second, you get a chance to savor the personality of the
clubs and the quality to expect in club publications.
Then, of course, you get the address to use to JOIN the
club or Subscribe to their newsletter. Actually UPDATE
has a baric of excellent NEW articles about the TS-2068 and
the QL, enough to fill at least the next five issues. Ihe
Sinclair user groups need an influx of new members to
spark new life and direction. Especially, the clubs need
QL and TS-2068 members to join and form a special interest
group within the existing Sinclair special interest Club.
This is UPDATE"S way of helping to round up new members of
the Sinclair User Clubs. Unfortunately, space does not
permit the introduction of all clubs in one issue, tut
we'll get rountuit in future issues.
*** THE SINCLAIR Z88 "lap top" OOMPUTEK ***
So far as I can tell, there are only praise and
enthusiasm ceding from the owners of the Sinclair Z88.
Frankly, I dont like the term "lap top", as it seems to
have a connotation of "tinker toy" which demeans the
extraordinary capabilities of the Z68. Lap tops come in
many varities of both size and price. Last week I looked
at a Mitchubitchi lap top which comes in at a measly
$4999.99 unit price. Then there are earlier lap tops
which didn't sell like hot cakes and are now priced below
$500.00. (Read "not designed to user needs") .
We have several subscribers to UPDATE who already have the and I f^P^^.^^^^^^^^^^;^^^
be many more on December 26. Why not, the Z88 will fit into a Christmas stocking! Mike Fink, a
s^ib^^ a Z88 Dealer, has just about finished a new "Z88 Instructional Manual" which wil
no T Mirt Mike Fink is an enthusiastic Z88 Dealer, so we cannot exactly call him un-biased.
UPdJ?E w^c^ef ^ ;m%S?is^^^ the Sinclair Z88 FH^ AN OWNO^ ONLY. We
to know fro. the ho^s^'s mcxith mor^ alxxxt this new Sinclair pr^uct whethe^^^^ isworth
its price, and an evaluation of its operation. Only an owner who has operated the Z88 for
seveS^ntte can prxwide such a comprehensive review. How about you Z88 owners telling us
about this new computer?
(Mike Fink, 355 if. 39th St., NY, NT 10018-1401 )
12
UHDATE MAGAZItE
OCrCBER 1988
OCTOBER 1988
UPDATE MAGAZINE
LETTERS: Just had to shoM you. this one (reduced 50%).
AAAAAAAAAAAAAAAAAA
1
1
i
1
i
1
i
1
YOU
MONACOIj^
}n t, Urtttr
If ST I. 5m U.
Sill9
§ W<nJl /riyU^ l/Ti^
30c
i 9-
USING THE OS — <£>-£h CARTRIDGE WITH TOS
At no time should the TOS copyright
notice remain displayed) otherwise you are
not properly booted up.
BOOTING UP
1. With the computer and drives off»
insert OS-64 cartridge in the 2068 car-
tridge port.
2. Turn on computer. The screen will
clear and then display the OS-64 copyright
notices.
3. Power up the drives and then insert
the TOS DEMO disk in DRIVE A. The drive
light will flicker as the disk is read. The
OS-64 copyright notice will remain display-
ed.
4. When the light stops flickering)
type in the CAT* command and press ENTER.
You are now booted up in TOS with a 64
column screen. The DICE game must be
revised for a 64 column screen.
REBOOTING
1. With a TOS disk only in drive A)
while pressing and holding the red reset
button on the drivesi pressand release the
grey reset button on the interface.
2. Release the red button after the
screen clears and the OS-64 copyright
appears on the screen.
3. The drive light will flicker as the
disk is read.
4. When the drive light stops flicker-
ing, type in CAT* command and press ENTER.
TO TURN OFF THE SYSTEM
1. Remove disks from both drives.
2. Turn off the disk drive -power
3. Then and only then turn off the
computer, otherwise you may damage either
the disks or the drives.
EARL V DUNNINGTON
4356 KING THEODORE DR.
BOYNTON BCH. , FL 33436
PHONE 305-732-6219
Hen
13
UPDATE MAGAZItE OCTCBER 1988
OCTOBER 1988
UPDATE MAGAZINE
<0N ERR> Programming
A person whom I'd never heard of sent me
a cassette, saying that it contained an
important program that "hangs up every time
it is loaded". I loaded the program and sure
enough it did hang up. A touch of the NME
button on the Oliger DOS board gave me "O.K"
at the screen bottom. Then LIST put the
listing on screen where I discovered <QN ERR
QONriNUE> in the first program line. I
EDITed the line and removed the ON ERR, then
found a subscript error in a following
program line. The moral of this story is
that if you use <0N ERR OOMriNUE> you'd
better have every conceivable error
eliminated. I returned the cassette with the
ON ERR removed and the program re-saved, with
expanations, never to hear from my pen pal
again- no thanks, no nuttings. AND, I paid
the postage. The morale of that story is, if
you ask someone to do something for you and
he does it, you should thank him.
The TS-2068 "Remembers ON ERR" and the
line number in an ON ERR statement "well
after" the program line that contains the <0N
ERR GO T0> statement has been executed. Then
the first error condition forces the
abandonment of sequential line read, and the
line that is designated in the ON ERR
statement is executed. Therefore, if you use
<0N ERR GO TO line>, it is best to terminate
the ON EE?R "whether an error exists or not".
Oie DOS (AEROO FD-68) will carry forward a ON
ERR condition when a new Basic Program is
loaded without a computer reset. This can
cause the next program loaded to give you an
unpleasant suprise.
ON EE?R programming can let the
programmer do many things that cannot be
achieved by any other means. But it is not
good programming technique to leave a ON ERR
condition dangling. 1*11 give a couple of
examples that can be modified and used in
different ways. First, the cure for the FD-68
programs that may be loaded during a ON ERR
condition in a preceeding program.
5 REM ** RESET a ON ERR
10 ON ERR GO TO 9000: STOP
20 STOP : REM **Line to begin
your programming.
9000 ON ERR RESET : GO TO 20
Let your auto run line be line 10. The
ON ERR changes any existing ON ERR
programming to line 9000, and then the STOP
forces line 9000 to execute, where the ON ERR
is cleared with RESET. Then your first real
programming can begin at line 20.
The next illustration is more complex.
Here we use ON ERR almost as we would use <IF
IHEN>. Say you need to present on screen the
"status of a data base" contained in a
character array "0$()", A subscript error
would occur if 0$ were not dimensioned. Then
you may want to know the actual Dimension of
0$ array. Then you may also want to know the
last "cell of 0$" that contains data (not
empty spaces). We will use ON ERR within
counters to do that in the following
subroutine.
5 REM ** Use ON ERR to find
the Dimension of a CHR$ Array.
10 LET a=500: FOR n=l TO a: ON
ERR GO TO 9000: LET b=LEN o$(n)
: NEXT n
20 CLS : STOP : REM **Line to
begin your Basic programming.
9000 ON ERR REOT : IF n<2 THEN
PRINT "0$ is not Dimensioned."
9005 IF n>2 THEN PRINT "The Dime
nsion of 0$ is> "; FLASH 1;"0$("
;n-l7")""
9010 IF n>l THEN FOR n=l TO n-1:
ON ERR GO TO 9020: IF 0$(n)(l) =
" " THEN STOP
9015 NEXT n
9020 ON ERR RESET : IF n=l THEN
PRINT "0$ has no data": STOP
9025 ON ERR RESETT : IF n>l THEN
PRINT "The last cell of 0$ that
has Data is "; FLASH 1;"0$("?
n-1;")"
9030 BEEP 3,16: LET n=a: GO TO 2
0
Each of this routine's actions to check
the status of 0$ serves the same purpose as
an <IF THEN>, except that <IF THEN> cannot be
used because it could result in a subscript
error. So ON EE^l allows us to check the
status of a data base "whether the data base
exists or not". It is inportant to note that
at the end of the <0N ERR> Subroutine, the
<0N ERR> condition is cleared (RE^). Then
any subsequent error will be reported as
normal with a "report code" at the screen
UPDATE MAGAZINE
14
OCTCBER 1988
ocrcBi
bottom.
Lets do one more that is simpler. This time
we will check the status of a simple string
content (A$) . A subscript error will occur
if A$ has not been initialized in this
example. <10 PRINT "Jhe Data Base is LEU
A$;" bytes" >. "Die ON ERR routine would be:
10 ON ERR GO TO 9000: PRINT "T
he Data Base is ";LEN a$;" bytes
,"i ON ERR GO TO 9010: SIDP
20 STOP : REM * The next line.
9000 ON ERR RESET : CLS : LET a$
«""s GO TO 10
9010 ON ERR RESET s 00 TO 20
If A$ lias not been initialized, the ON
ERR trips to line 9000. But if A$ has daU
tlie LENgth of A$ is reported and the second
ON ERR designates a new line to GO TO if an
eccoc exists. Then SLX)P triggers the GO TO
9010. In either case <CN ERR RESEn:> clears
tlie CN ERR progranuning. It might be worth
noting tliat <0N ERR RESET> clears the error
condi tion.
But, <CN ERR RESBr> is ignored if the
ecror condition has already been cleared.
Tliere is no adverse effect if <CN ERR RESErr>
is encountered. The follow on programming in
tlie line is executed whether or not the RESET
actually reset an error or not.
McBrine Computer Products
LlFi far the JS206S v. 2.0 - See John Conway's revolu-
tionary pattern-generating qaie for yourself! 3 tiies as
If^^ fSo^V" original; includes 24 x 32, 48 x 64, and now
76 X 128 in one prograi, plus saving b loading and an
iiprovBd keyboard routine $9.95
POHEK fRIHJ - The ultiiate in support for your Epson-
cojipatibli printer Kith Aerco, Tasaan, or AiJ parallel
interface. Featurefi: lOOZ correct LLISTings t Accurate
aspect-ratio b/n screen duips in 2 sizes and two resolu-
tions (192 X 256 and 64-col., or 192 x 512) I Text-only
screen duips (both resolutions) for speed I Print to
!??2.7.^^Il^^''^"P^■'^'■iven print spooler t TOTALLY RELOC-
ATABLE! t Specify interface and printer. (Kill custoiize
for your printeri send print code data.) $7.93
mn 512 - Horks in both 192 x 256 and 192 x 512, b/n
only. Draw («/ OVER or INVERSE) t Line t Box $ Square I
Circle t Invert t Block invert I Block erase I Merge
screens 3 ways t Rotate (scroll) screen in 8 directions,
a pixel at a tiae t Flip left/right or up/down t Mirror
4 ways I Convert back and forth between 32-col. and 64-
col. lodes in several ways t Use joystick or keyboard t
Screen duips froi POWER PRINT....... ....$9.95
^mRmLS - Reikill t Header reader I Renuiber (with
GO TO's and -SUB's) t Variable duip I Prograi tracer t
Finder (find string in BASIC prograi) t All RELOCATABLE
except tracer, partly relocatable $9.95
Postage paid on all orders $ Check or Money Order
SEND LSASE FOR FREE CATALOG!
McBrine Coiputer Products
514 S. Jackson St. t Salisbury, NC 28144
CORNUCOPIA
Gr. Myth, a, horn of tho goat that suckled
Zeus: it would become full of whatever
its owner wanted
Getcha magnifyin glasses out! This
issue ^^ill bring some announcements about
Software that is available. Now oont fuss
about the small print. update is ooin
this as a public service and trying to get
as many in thar as possible while making
the print clear nuff to spy glass up. the
main thing is to send a sase to the folks
and get back more info than we can put jn
A LITTLE COLUMN. - ED.
SOFTWARE FOR THE QL
It is time to start thinking about an ugly-
word, "TAXES". "But" you say, "this is only
October". Wal, the next issue of UPDATE may
be too late to start worrying. ITiis is an
unpleasant way of introducing you to a DEALER
of SPECIALIZED SOFTWARE for the QL.
Peter Hale, of EMSOFF has announced the
1988 version of "TAX-I-QL", which has a
template for your PSION ABASCUS Software. The
TAX-I-OL program produces most of the IRS form
schedules that you need, plus ccanmon forms and
worksheets. Your taxes are c<»nputed from
input data on the proper forms. A 16 page
manual guides you through the task of inputing
data to compute your or someone else's taxes.
Other EMSOFF titles are "MAILBAG", an
address data base, "QLAND_LCM)" . which
completely manages up to 99 property rental
units and produces the required IRS Schedule
E. Another is "TRU£rr_HJND" to manage your
investments.
All EMSOFF softwares require 256K of RAM
extension and are available on 80 track Floppy
for $19.95. or Micro Drive Cart for $21.95.
Write for catalog: EMSOFT, PO Box 8763,
Boston, MA 02114-8763 (tel 617 889 0830) .
T7PDATT5; mnj\7,TW,
15.
CX3XBER 1988
OCTOBER 1988
UPDATE MAGAZINE
ARCHIVE MASTER
ARCHIVE Databaa* im a poHarful,
flaMibl* and unlqu* prograa that
Has auppltad as a 'bonua' with
■oat n«H QL conputvr ayataaa.
HoHavar, dua to It'a coaplaxltlty
and lack of conplata docuMntatton,
ft in parhapa th* most ■isundaratood
OL prograi*. . . that la, up until noH.
Entar tha nwM book, ARCHIVE MASTER.
tram Exacutiva Uorkahop.
ARCHIVE HASTER axploraa all of th*
Innar work Inge of ARCHIVE,
and containa tips It tricks to halp
you naka ARCHIVE an avan mora
powarful tool -for par'aonal uaa and
buainaaa. Conplata procaduraa ara
includad to sat up an Invantory
prograa, a Cuatomar/Supp 1 lar ftia,
an Accounta Racatvabla/Involclng
prograa, a Mall List Managar,
and auch aora!
ARCHIVE MASTER la suppllad Nlth a
durabia thraa ring blndar, and l»
prlcad at •44.99 (plus 43 SMI.
Ordar your copy froa:
RMS ENTERPRISES
1419 1/2 7th Straat
Dragon City, OR 97049
1903) 693-7484
software for the CQl^
CATALOG
APPLICATIOHS SOFTWARE far the QL
MAILBAG Address database yau won't
believe. 256K+
TAX-I-QL Spreadsheet for IRS 384K+
QLAND_LORD Manages up to 99 units and
does Scbed E (.mi«(i> S56K+
TRUSTFUND Tracks Investments and net
worth (Soon> 256K+
Agents for ZX/TS SlrlusWare
4K Word processor with
TS 2040 lowercase printer driver
PROMISE LAND ELECTRONICS
Dan Elliott, Oumer
Servicing computerized
electronic equipment
COMPUTE»« / MODULES / PRIMTERS / HOMITORS
Sinclair QL TS-2068 TS-LSOO TS-1000
16K Ram Pack ZX-81 Hanotaeh Modulaa
Commodore 64 VIC-20 PLUS-4 C-16
Coleco ADAM TI-99/4A Comaodore 128
REPAIRS / UPGRADES / ASSEMBLIMG / TESTIMO
Write tor pcicest
Dan Elliott
Route I, Box 117
Cabool, MO 65689
KEEP IN TOUCH
Mith
a_l_IMK !
The Ultimate QL Terminal
US*19.9S * 3.00 shipping
Cspecify mediumJ
Meta Media Productions
726~Uest 17th
Vancouver BC
Canada V5Z 1T9
Orders, Catalogues and Dealer Info.-
Estate ManaxemBat Services
P.O. Box 8763, Boston. HA 02H4-8763 C617) 889-O830
THE Z88 UNDER 2 LBS.
A Computer Without Compromise
'Jj -j j j .J J J -J ^ J J O vJ
oj "nJ tJ \d \d 'yJ 'oJ ''-J oJ'W':^ ''-i. ''. U
I U .J cj ,J .J .J .J J .
rm laptop* compmmlta on dItplBf »iMi RAM eapmclty to Behl»*» porlaoillly, tnd
m to aqual* prtea iWlfi poirar. On ZBS l§ a panonal eompular which makat no
• A CMOS-laehnology eompular with lha powar to addrati 4 Mbyia» of
mamory • Aeompularwnhawork-fraa<lltplayoltllnaaol80eharaelan,anLCDtenan
n( tloraga • A computer with adnncad word-proce»ilng, spraadtheat
- amy dala-managamant tottwara t>ull1-lr\
complalaly sail contalnad, which givat you up to 10 houn actlna
baltarlat, yat which talki and lltlant to your IBM * A eompular with a lull-slza kayboarri, In a
packaga lass than the slia of an 8H« 1 1. with a total weight ol lass than 2 lbs • Tha 288. A
eompular without compromlsa.
Z-88 Compulw
PCtoZ-asUnkup
32KRAM
3ZKEPBOM
128K RAM
«28KEPROM
RS 232 LEAD
45 00
3995
. 3995
8995
89 95
1995
SERIAL lo PARALLEL I/I
t/2 MEO RAM
DAT ABASE S/W
CARRVINOCASE
2-88 MAGAZINE
X-MOOEMS/W
$ 45 95
359 95
I199S
SHARP'S, INC.
UPDATE MAGAZIbE
16
OCTOBER 1988
UPDATE MAGAmfJ
ZX-APPEAL was named *2 BEST CLUB
publication by Time Designs
panel. See re-print articles in
this issue. ed.
The Vant»uver Sinclair Users Group lias been In existence since
1982. We are « suppoH group for Uie owners and users of all
SINCLAIR and TIMEX computers.
Pres:-GerdBi«unung PH«(604) 931-5509
V/Pres:- Glenn Read
Sec- Harvey Taylor
Treas. & N/L Editor- Rod Humphreys
Our membership dues are only SlS.OO/year and may be senl lo
the Treasuren
Rod I lumphreys
2006 Highview Place
Port Moody, B.C. V3H 1N5
Members of VSUG receive a montldy issue of ZXAppeal - our
newsletter.
ZXAppeal accepts advertising. Our ••PREPAID** rales are:
$10.00 -full page
$800- 1/2 page
$5.00 -1/4 page
ZXAppeal ia distributed lo approx 30 other SINCLAIR User
Groups throughout North America as Well as overseas via the
NETWORK. NETWORK correspondence may be directed to the
Editor at the above address.
Copyright of all articles appearing In ZXAppeal is retained by .
the author with the understanding that other T/S User Groups
may mnlnt any artide appearing In ZXAppeal provided credit
Is given to the author and VSUG.
Rcprinlcd from the May/88 issue of the Nile-Time
News - the N/L of the Chicago Area T/S Users Group
TELECOMMUNICATIONS ON THE QL
By flichael nitchell
(Reprinted froi QZX)
The Ql for lU its pover ind yersitility is liaited in
teleconaunictting it m baud without « hirdvare link betveen
the serial port and the aodei. The folloving prograi vhich
appeared in the Data Expansion or the Dallas/Fort Vorth group
will get you on line to a TNC or a telephone at 399 (or even
1299) baud.
1 REflark 306/1269 baud teriinal
2 REHark R1KE_T£RB
3 REnark Developed by
4 RENark Hichael llitchell
5 RERark attribution requested
S REKark Sindairniaex User firoup
7 REHirk Boston Coaputer Society
ie« VINOOV 465,264,6,9
165 BORDER 1,9,7: LB=127
119 CIS: POKE 1(397(,2S5: CLSI9
129 PRlNTf 9.. 'Choose Baud: H<1299. L«399
139 IF IHKEY$(-l)=='h'TH£N BAUD 1206: ELSE BAVO 399
140 CLSI9: 0PENIS,SER2i
156 PRINTI0,, 75=^1'. •ALT*C=*C'.'-6=flELL'
160 REPEAT TERN
170 TERniNAL: PRINTI6, .•ExitT(y/n)'
180 IF INKEY$(-U"'r THEN EXIT tera
139 END REPtera
299 CLOSEfS
295 PRlHTI9,.'Re-run/«uit? (r/q)'
219 IF IKKEYf(-n«'R' THEM RUN: ELSE STOP
229 OEFine PROCedure teriinal
239 REPeat key loop
246 a<00E(INj(EYI(l5,9))S&LB
250 IF a=13 THEN PRINT
269 IF a»7 THEN BEEP 2999,15
279 IF>3I THEN PRINT CHRI(a)
289 b-CODE(INKEYI)
299 IF bs248 THEN EXIT key.loop
300 IF b=255 THEN b=9
319 IF b=9 THEN NEXT key.loop
329 IF b«I9 THEN b=l3
339 IF b=298 THEN b=7
349 PRINTIS, CHRI(b);
359 END REPeat key.loop
369 RETurn
379- END OEFine lerainal
Save as HlKE.TERM.bas
UPDATE MAGAZI^E
17
(XTOBER 1988
OCTOBER 1988
Reprinted from ZX-APP:
^
UPDATE MAGAZINE
Sound Experimentor
Rob Miles
Unlike most home computers
the QL has a very limited noise
making capability. What there
is can only be dragged out by
using the enigmatic BEEP
command. This has 8
arguments, all of which are
obscure. The only way to
produce something vaguely
melodic is by trial and error.
The following quickie allows
you to do exactly this.
100 REMark »♦«•* QL User -Beep eKperiment
110 REMark Rob Miles 1985
120 duration«=5000s pi tch«100s pi tch_2«0! Qrad_.M«0: gra
d_y«0; wrap«0j f U2zy*=0: rando(n«0
130 REPeat sounder
140 CLS
150 set "Duration (-32768. . 32767) duration, 2
160 set "Pitch <0. . 255) ?", pitch, 4
170 set "Pitch^2 <0. .255) ?",pitch 2,6
180 set "Grad_x C-32768..15) ?",grad.x,8
190 set "Gradlv (-8.. 7) 7",grad.v,10
200 set "Wrap (0.. 32767) 7", wrap, 12
210 set "Fuzzy (0. . 15) fuzzy, 14
220 set "Random (0. . 15) random , 16
2?0 AT i8,0«PRINT "Beep " j dur at i on ; " ^ " s pi tch ; " , " ; p
i tch^2i " , "sgrad.x: ••,"5grad_y; ••,";wrap; fuzzy; " ,
" t random
240 BEEP duration, pi tch, pi tch_2,grad_x ,gr«d_ytwrap
, fuzzy, random
250 dum*«INK:EY* (-1)
260 END REPeat sounder
270 DEFme PROCedure set (name* , var ,posi tion)
280 LOCal buf*
290 AT posi tion,0:PRINT name*;" "fvar
300 AT posi t ion ,0: PRINT namef; '
310 INPUT buf*
320 IF buf*<>"" THEN var»buf*
330 AT posi t ion, Os PRINT name^s'
340 END DEFine set
• ! var :
Easel Print
D Duncan
The following 7 liner shows
exactly how to use the graphics
dump provided with EASEL.
All you need is an EPSON
compatible printer and the
EASEL cartridge in mdv2.
120 MODE 8 1 PAPER 2: CLS
130 FOR n»l TO 150
140 INK 7:FILL 1:CIRCLE n,50,20, .5,-n/2
150 INK 2jF1LL 0:CIRCLE n , 50,20, . 5,-n/2
160 NEXT n
170 REMark Dump to Epson printer
180 a=RESPR(1024) rLBYTES mdv2_gprint.prt , a
190 CALL a: OPEN «3,serl:LIST #3: CLOSE #3
UPDATE MAGAZINE
18
OCrCBER 1988
OCTOBER 1988
QL RAM extension
UPDATE MAGAZINE
Re-print from ZX-APPEAL
Sinclair's QL has as standard a 128 K
RAM. which sounds like a lot in com-
parison with most 64 K machines.
Unfortunately, the software writers, in
the knowledge that there is more than
enough memory, have been rather
wasteful in their work, so that at the
end of the day. there is not all that
much more in the QL than in the 64 K
machines. So, you need more
memory. . .
The accompanying circuit is an appli-
cation of the TMS4500A as RAM
extension for the 68CX)8. This chip can
drive a maximum of 128 K dynamic
RAM and provides virtually
everything: multiplexing of the
address lines. RAS. CAS, and
REFRESH.
The memory ICs are 64 K x 1 (128 or
256 refresh are both permitted) and
have a speed of better than 150 ns.
Since the QL uses a clock frequency
of 7.5 MHz rather than the normal
8 MHz, such a RAM can run without
wait cycles. An 8 MHz CPU that
regularly has to carry out a wait cycle
is appreciably slower than a 7.5 MHz
type!
The 68000 family is provided with a
data acknowledge input. As with
other processors, the CPU places
addresses and data onto the bus and
indicates the validity with an address
strobe and data strobe respectively. It
continues to do so until the memory
sends a DTACK signal. The present
extension generates this signal with
the aid of the LS156. Normally, this
acknowledgment is given almost
immediately, but it may happen that
the 4500 is in the middle of a refresh.
In that case, the CPU has to wait,
which is arranged via the ready output
(pin 2).
To prevent the QL waiting forever
when an address is read that has no
memory, the DTACK is generated
internally: this must, however, be
disabled for addresses where the
RAM extension is located, and for-
tunately this can be done easily via
DSMC. By making this logic high as
quickly as possible, the internal
DTACK is cancelled.
If you cannot get the 2N2905 transis-
tor, you may use a BS250, in which
case resistor /?, can be omitted and
should be replaced by a wire link.
The circuit as shown is for the 128 K
version. It is also possible to omit the
eight RAMs connected to RAS1 and
make a 64 K extension. Input A of the
LS138 must then be connected to A,6
and pin 11 Instead of pin 13 must be
used as CS".
There is no 5 V supply available on the
connector, but there is a 9 V line. This
can be reduced to 5 V by a standard
7805. The current drawn depends on
the types of RAM and will be
200. ..300 mA. It is important to
decouple the supply lines properly:
each RAM IC and the 4500 require a
100 n capacitor!
1 .5
n
, IC2 IC3
UFOfflTE HAGAZI^G
19
OCTCBER 1988
UPDATE MAGAZIbE
Re-print from ZX-APPEAL
by David Hashdr
i
o
CI.
o
I
PL, 1
The Truiip Card is sisply the lost useful single addition you
can gel for the Sinclair QL. It coiibines a disk interface. 768
kilobyte RAtl expansion, Toolkit 11 for SuperBASIC extensions, a
screen ducp, static and dynanic raidisks and a dynanic printer
buffer. Vhen you consider that even the lovest cost S12 Kb RAK
expansion and a disk interface vill cost at least $259. and
Toolkit II costs $70, the Trunp Card is a bargain at $309.35.
The entire unit only sticks out about three inches fros the
expansion port side of the QL, so it's conpact. I got Bine fro«
Curry Conputer in 6iendale, Arizona.
The disk interface is pretty standard fare. It will allow
you to store infomation on any coaibination of forty and eighty
track drives, single sided or double sided, 5 1/4* or 3 1/2*.
The interface is fairly intelligent in that it vill pick up on
vhat foraat the disk vas created In autoaatically. For exaiple,
if you have a SO track, 5 1/4' double sided drive, the interface
vill autoaaiically read fros a 46 track, single sided disk. Of
course, you can't Hake a single sided drive read froa a double
sided disk, or put a 3 1/2' floppy in a 5 1/4' drive since the
interface can't change the linitations of your disk drives. But
if you have an 80 track 5 1/4" double sided drive, you'll be
able to read any disk vith the exception of 3 1/2" disks. The
interface is only able to support tvo floppy disk drives. That's
its only shortcoiing as far as I'l concerned.
The 768 Kb RAh expansion saxes out the QL. Added to the 128
Kb that are built into the QL, you have a whopping 896 Kb of
m. (Vhile the 68008 CPU can address 1 Kb of RAh, 128 Kb of
neiory in the QL are reserved for device addresses and ROKs.)
You'll have rooi to run any prograi that has ever been vritlen
for the QL - probably several copies of the prograa. This can be
very helpful on a aultitasking aachine like the QL. You'll also
have plenty of rooa for raadisks too.
The raadisking capabilities of the Truap' Card are really
neat. The raadisks coae in tvo varieties, static and dynaaic.
The difference is that the static raadisk has to be foraatted,
alaost like a sicrodrive cartridge, and the dynaaic raadisk can
be created by just using the device naae. For exaaple. to
create a static raadisk vith Ivo hundred, S12 byte blocks of
space, just enter:
FORttAT RAni.200
A 160 Kb section of aeaory vill be set aside for use by the
aachine to use just like a aicrodrive or floppy disk, but vill
be located in fast RAN. To create a file in dynaaic raa. it's
just as siaple as using the device's naae. To copy a file to
raadisk raa3_ just enter:
COPY dev.fi lenaae to RAff3.fi lenaae
A bit of aeaory vill be set aside in RAH as raaS.filenaae. It
via grov only Urge enough to hold the flle(s) that have been
send to raa3.. The difference betveen the static and the
dynaaic raadisks is that the dynaaic raadisks are aore likely to
fragaent the aeaory of the QL. If the aeaory becoies
sufficiently fragaented. it can degrade the perforiance of the
aachine because the operating systea vill have to scrounge
around to find blocks of aeaory. Up to eight raadisks can
used vith the Truap Card. One other neat feature of the raadiw
is that it can aake a very fast iaage of everything on a
licrodrive. It vill copy' everything on the aicrodrive in just
about fifteen seconds.
One of ay favorite features of the Truap Card is its printer
buffer. It's a snap to use and can really save tiae. In its
siaplest fora, you just use the device naae 'PRT' instead of
'SER*. «hat happens is that vhatever you are sending to the
printer is sent in its entirety to a buffer in RAH. The QL then
sends bytes to the printer as a background task. The advantage
to this is that you can return alaost iaaediately to an editing
session if you send a file to 'PRT* froa The Editor or Quill.
If you send a file to 'SER' froa an editor, you aust vait until
the printer has finished printing before you can continue
editing. Several files can be sent to the printer buffer and
they will be sent in the proper order. There is a aethod of
changing the device that you want to have the 'PRT' device use.
Unless you have a parallel interface that doesn't use the serial
port, it's hardly likely that you'll change it.
The printer duap is pretty good. It supports about any Epson
dot aatrix printer plus a fev other printers including the
Brother HR4, Olivetti JPlOl, Seikosha 6P-ieOA, 6P-2501{, ind
6P-700A, and the Canon PJ1080A, You can specify vhat section of
the screen to copy, and there Is a provision for using a
•hotkey* to copy anyscreen froa any prograa that you light bis
running. There's also docuaentation on hov to open a printer
device and get a printer duap froa prograas vritten in near
any conputer language - not just SuperBASIC. I've tried it fro»
'C and it does vork.
Toolkit II is a collection of SuperBASIC extensions. Soae of
thea are auch aore useful than others, but on the vhole,. they
are very vorthvhile. To ae, soae of Toolkit's aosl useful
coaaands are 'ed', a screen based SuperBASIC editor; *vcopy'. a
file copier that allovs the use of wildcards; 'vstat', a
vildcard directory coaaand that also provides the file size and
last update tiae of files; 'splf. another printer buffer or
rather 'spooler* that vorks great vhen used vith 'prt'; and an
assortaent of job control coaaands that allov the user to
aonltor. change the status of, and reaove jobs that are the In
the QL. Toolkit II allovs the use of default directories, has
clock features Including alari ciock(s). has laproved SuperBASIC
error handling, peralts the user to define 'hotkeys', altkey/
single key coabinations to enter large strings or coaaonly used
coniands, and has an easy vay to repeat of the last coaaand
typed. Soae of the aore obscure coaaands deal vith netvorking,
direct unbuffered access to the various i/o devices, and aeaory
aanageaent coaaands. All In all, Its a pretty iapresslve array
of extensions to SuperBASIC. Once you start using the Toolkit
II coiaands. you'll never vani to use a lachine vithout thea.
An additional benefit of having Toolkit II fitted on the Truap
Card is that it leaves the ROH cartridge slot on the back of the
QL free for other ROKs.
Vhen you consider the features that the Truip Card offers. '
feel that it is an unbeatable coablnatlon.
2.0
UPDATE MAGAZINE
OCTCBER 1988
Bob Hartung, 2416 N. Co. Line, Huntertown, IN 46748
Since the final additions have been iuade to SAFE DOS, I
have had several requests to write a "do-all* disk raan-
ageraent program that includes all these features, plus
the file- indexing provided by DOS_DEX and AUTO-DEK. It
seemed to rae to be more practical to call these file-
indexing routines and the disk-verify routine frao the
initial <LI3AD> menu and from the MULTIJI^^GER menu than
to integrate them all into one program.
To make it possible to utilize only one set of data for
both DOS.DEX and AUTOlOEX, the original DOS.DEX was re-
vised to save DATA c^O arrays instead of the entire
routine with variables. This in turn required finding a
way to preserve current variables whenever a new file
directory was installed by the machine code routine. I
utilized the UD6 file for this, eg: POKE USR 'D and PEEK
USR 'd* which saves several bytes compared to using the
usual PEEK/POKE syntax. The ujiderlined 'O* must be en-
tered in GRAPHIC mode but not the lower-case "d*.
Some have wondered why the fast FOR/NEXT loop was not
used in these routines. Actually, because of the various
key-stroke tests and item-numbering very little gain in
display speed is obtained by this, but for anyone who is
interested, the eighth REH byte may be changed to a 14
to allow for a LET m=SGf^ PI definition before the DIM ci
mi M78',m '20"). An easy way to do this with the
original D0S_DEX listing is to insert a line 6 STOP. Key
RUN, then POKE (a47),14. Remove line 6, make the m
definition between CLEAR and DIM ciO and revise all the
m loops.
Note that this fast FOR/NEXT definition is NOT provided
in the revised DOS_DEX listing given below. To move the
REM statement to line 0 if you are starting with the
original listing, POKE 26711,0. (Refer to April UPDATE
for poking the machine code to a REM line from scratch.)
As given, the listing provides for a two-drive system,
0 and 1, at lines 1 and 522, which may be changed if you
prefer to designate other drives. Omit these drive
designations if you have a single-drive system.
After the ERASE function appeared for SDOS v2.52, I
found that the CHR$ 229 ' RESTORE ' test I had used in
the original AUTO-DEX, MERLDISK, and fttRKJIOVE listings
would not work after an ERASE had been used on a disk.
Upon checking with John Qliger, I learned that a CHR$
128 in the first byte of the first unused file di-
rectory is what must be looked for. So, in all the ori-
ginal listings, wherever ' RESTORE ' appears the respec-
tive lines should be changed to IF CODE c*<n)) WL '127"
... or IF CODE c$(k)> VAL •127'... or IF CODE cf<M)> VAL
•127* or IF CODE ciim)> VAL •127*....
UPDATE MAGAZINE
The MULTIJiANAGER listing does not utilize the fast FOR/
NEXT loop either, so when entering the listing be sure
that the eighth byte of the line I REM is an S and not a
14 as described previously if you are starting with a
copy of the DOS_DD': machine code in line 1 REH. The
program prompts should be self-explanatory— I HOPE! Note
the warning given in the SDOS User Manual <p. 37a in the
final edition) that the NOME / conwand to transfer an
entire disk must be used only with identical drives,
otherwise the MARK_MWE method is the only safe way to
do it. The MULTIJW*^6ER menu assumes that DOS-DEX
resides in file zero and that AUTO_DEX and MERLDISK are
on the same disk, preferably with AUTO-DEX in file 1.
These routines are available on an UPDATE issue disk.
TUO-DRIVE DOSLDEX WITH DATA-SAME
8 REM STEP ?»K\?? FOR ! &? CLOSE #
1 POKE USR "D"»SfiN PI J LET /(HiOT PI
2 £Lm I DIM c$(m ■178',VAL *2»')'. LET t=UAL MS"?
LET s;=S6N Pi! LET w=5*s! LET o=NOT Pis LET #:PEEK USR '
d"
5 LET a=yAL "PEEK 236354PEEK 23636»25645" s LET c=INT
(a/m '256'). • POKE WL '23549* ,m M95": POKE m "235
5B*,a-(cm •256")! POKE m ■2355r,C! LH f i=USR m.
"23549"! LET pow=W! LET co1=WL '9't LET nit=cf(WL '178"
, TO m. 'U')
28 LET a«=""! DIM Hm. '6",w)! LET ff(tf)=" DATA n*!
LET f$<IMT PI)=" DATA LET f$<w+w)=*CODE *! LET f$(^^
L •5")=-ABS LET f$(WL '6-)=m "
388 as : PRINT AT o,o|* Diskjf|d-s;"! "inljlfoj'DOSDEX
d8/dl:""Key! NEXT CAT SWE LOAD (Dl'jd
488 LET f=S! LET c=INT (fi/VAL "18"): LET dif=INT ((fi/
MAL •18"-c)«MAL 'IB'^m. '.4")! LET loop=m '17"! ON ER
R 60 TO m "788"
418 LET q*="|>'! LET it=5i IF loop>=fi THEN LET loop=fi!
60 TO WL "425"
415 FOR i=5 TO C! FOR hfo TO loop! PRIKT AT row+m,t;a$j
AT row4n,t-LEN STR$ itjit;" ';c$(it, TO t)j* ■;f$(CODE c
$(it,WAL '11")^)! LH it=it*s: NEXT m! 80 SUB m. "588"
! NEXT i! FOR i=s4s TO m "19': PRINT AT i,t|a$! NE)(T i
! IF NOT dif THEN 60 TO ^JAL "418"
425 IF f THEN FOR ra=o TO dif-s! PRINT AT rowtf8,t ja$}AT
row4n,t-LEN STR$ itjit;" "jcfdt, TO t);' ••,«(CODE c$<i
t,m "ID+s): LET it=it*5! NEXT n: IF loop>=f i im LE
T f=o
427 IF NOT f THB^ LET it=fi+s
438 60 SUB m "588'! 60 TO m "418"
588 FOR L=o TO n-S! PRINT AT row+L,col-w;" INVERSE
5f">'! IF qfO" THEN FOR a=5 TO PItPIi NEXT a! LET ql="
518 Ln a«=INKEY$! IF a^" THEN LH q<='p"! 60 TO m
•518"
528 IF CODE a<=MAL MS" THEN 60 TO m. '688"
.1
OCrCBER 1988
OCTCBER 1988
UPDATE MAGAZINE
522 IF a*='C' THEN LET /d=S! OPEN lw,-P*: CAT ! CLOSE I
W! LET /{t=o: 60 TO w
524 IF a^^'L" OR a*="r im LOAD /STR* d DATA c$(): LE
T nP^cimi M78*, TO ^AL 'U')i LET *=CODE c^(VAL 'l??'
): LET fi=CODE c$<VAL '\?7%t4)i GO TO m "388"
526 IF a^'S" THEN LET d=d+5! POKE USR 'O^.d: LET c%m
L M?7-,5)=CHR* d! LET cf(m "177',w)=CHR$ i'li SAME //S
TR$ (d-s) DATA ciOs 60 TO w
528 IF a«='N' THEN INPUT " INPUT NEXT i';d: POKE USR "D
■,d! 60 TO w
538 PRINT AT row4L,col-tt;" *: NEXT li LET a$="
•s RETURN
688 ON ERR RESET i CLS : LET pos^it-tiiL: LET d$=c$<pos,
TO t)! LET a=CODE c$(po5,t45): IF NOT a THEN LOAD /dl
618 IF a=5 THm LOAD /d$ DATA nO
628 IF a=w THEN LOAD /dl DATA niO
638 IF a=INT PI THEN LOAD /mm
648 IF a=w4w THEN LOAD /d$ABS
658 IF a=^L '5" THB< LOAD /d$^L
788 ON ERR RESEf i PRINT flNGT PI; FLASH SGN PI|' FILE N
or FOUND PAUSE ^ "188": 60 TO SGN PI
MULTIJWmOER
1 REM STEP ?»K\?? FOR ! &? CLOSE ii
2 ON ERR RESET 5 CLEAR s DIM c*(WL •I78-,yAL ■28') :
LET s=SGN PI J DIM ni$(m '177', s): LET i=m. M": LCT t=
m MB': LET cfNOT Pis LH a^"j INK m PAPER oj
BORDER o: CLS
5 PRINT TAB tjmTHW*WER'"TAB f |M - Mark/move i
i1es';TAB f;"2 - Move ALL f i]es';TAB ^;"3 - Re-nane file
s'lTAB f|M - Re-nane dislC;TAB - ERASE file5"}TAB
i\'6 - MERLDISK'jTAB i\'7 - DOSlDEX'jTAB f j'8 - AUTOE
X'lTAB i\'9 ' SWE MULTIJ16R";TAB - LPRINT CAT 'i P
AUSE o: LET opt=CODE INKEY$-48! IF opt)9 THB< 60 TO 5
18 IF opt=6 THEN LOAD /'VERLDISK"
15 IF opt=7 im LOAD
28 IF opt=8 THEN LOAD /'AUTCDEX"
25 IF opt=9 THEN CLB^R ! SWE /"MULTIJ1BR' LINE 2; 60
TO 2
38 IF opi»o THS« INPUT "Printer ON, then key ENTER "ja
$! LET /p=oj Om I2,"P"! CAT : CLOSE #2j LET /p=t! 60 T
0 2
35 DIM mm '6\sH)i LET m%H)=' DATA n"j LET f$<
INT PI)=" DATA %'i LET «(m M")='CODE ": LET Hm. "
5")='ABS LH iimi •6')=m "
48 INPUT "No. oi SOURCE A^ive (8-3): "isource'-No. of
DESTIh*^TION drive (8-3): ^dest: IF 50urce=dest OR sourc
e)3 OR dest)3 THB4 GO TO 48
45 LET 5$="P1ace source disk in DRIVE "iSTR* source*'
& target disk in DRIVE ■♦STR$ dests LET k$="KEY BITER T
0 •
58 PRINT llo;s$|" Key any CHRI TO CAT source d
isk or key BfTER TO NOT CAT ■■: LET /(*=50urce: PAUSE o: I
F CODE INKEY$<>m '13' THEN OPEN 12, 'P': CAT : CLOSE 82
68 IF opt=l OR opt=2 THB^ INPUT ": PRINT AT o.tj'FILE
-M(WE%«8i' FORTWT target disk (drive I'jdestj') y/n?"
1 PAUSE o: IF INKEY$="y" THBI INPUT " INPUT FORTttT t t
itie to arrow" ;a*: LET /d=dest! FORTttT /iii LET /c^sourc
e: OPEN I2,"P": D^T : CLOSE i}2:
PAUSE 388
65 IF opt=2 THEN INPUT 'Key ENTER for DEFAULT t (track
s) OR enter no. of tracks to move: "it^: IF t$(>"" THEN
LET /t=^L \ii MOVE /: LET /t=83i 60 TO 2: RBI Make t
re-set def inition=default
78 IF opt=2 THe< INPUT (5$'k$)j" MOVE ALL FILES
LET /(J=50urce: MOVE /: GO TO 2
75 IF opt=5 THEN CLS : PRINT AT 19,o|*Mark ONLY last f
ile to ERASE andrepeat for any others — Key 7 to
proceed": PAUSE o: IF INKEY$<)"7" THB4 60 TO 2
88 CLS 5 IF opt=5 THBi PRINT AT 28,s|"Key M to auto-fia
rk ALL files": PAUSE o! LH a^INKETt: IF a$="M" im FO
R HFS TO 177: IF CODE c$(ffl))m "127" THBI 60 TO 98
85 IF opt=5 ^D a1="M" THBi LET n$<ffl)=" "j NEXT ni 60
TO 98
98 as : PRINT Ho; "Key: SPACE to nark CKR$ to review8 t
0 revise "m*(" MOVE " opt=l)4("RE-WME" m opt=3)
*(• ERASE • opi^S)
188 PRINT AT 28,s,,: LET a$=""j DRAU INK sjVAL "255",0!
DRAW INK 5;o,m "175": ORAU INK sjVAL "-255", o.- dm I
NK s;o,m "-175"
288 LET a=UAL "PEEK 236354PEEK 23636»25645" : LH c=INT
(a>^L "256"). • POKE UAL "23549" ,m "195" s POKE m "235
58",a-(c«ML "256")j POKE m. "2355r,C! LET f i=USR "^L
"23549"! LET row=s45: LET co!=WL "9": LET n^c$(VAL "17
8", TO VAL "16")
218 IF opt=4 THB< PRINT AT t,f j-RE-f^VIE DISK in drive 8
•;source: INPUT "OLD disk name: •|(ni)"NEW disk nane: "
\bii LET /d^source: RESTORE /b$: 60 TO 2
388 IF nam ni)=' " THB^ LET n$=n$( TO LEN ni-s): 60
TO m. "388"
328 PRINT AT o,VAL •16"-(LB< ni/m. "2"); OVER s; INK V
AL "5-}n$jAT o,m "8"} OVER sj" "j PAPER
0
485 LET L=0! LET f=S! LET c=INT (fi/VAL "IB"): LET dif=
INT «fiym ■18"-c)m •18"4WL ".4")! LET loop=WL "1
7"
418 LEI q*='p»: LET it=S! IF Ioop)=fi THBi LET loop=fi:
60 TO VAL "425"
415 FOR i=5 TO CJ FOR n=o TO loop: PRINT AT row4ro,t-f ;a
$}AT row*ii,t-Lei STR$ itjit}n$(it);c$(it, TO t)j" '|f$(C
ODE ci(it,VAL 'U'hDi LET it=it*S! HBCJ m 60 SUB m
"588"! NE)a i: FOR i=s*s TO m "19": PRINT AT i,t-f ja*:
NE)a i: IF NOT dif THB^ 60 TO VAL "418"
425 IF f IHm FOR iifo TO dif-S! PRINT AT row+iB,t-f |a$jA
T ro«+n,t-LB< STR» it5it|n$(it)jc$(it, TO t)j" •jf$(CODE
c$(it,VAL "11")+1)! LET it=itts! HBC\ nt IF loop>=fi TH
m LET f=o
427 IF NOT f THBI LET it=fi*s
438 60 SUB MAL "588"! 60 TO VAL "418"
588 FOR L=o TO ra-S! PRINT AT raw+L,col| IWERSE sj">"!
IF qiO"" IHBi FOR a=s TO PlfPI: NEXT a: LET q^""
518 LET a*=INKEYf: IF a$="" THB< LET q$="p": 60 TO VWL
"518"
512 IF a^'8' im LET !i*(it-fHL)=" ": PRINT AT row4L,c
ohSGN PIj" "
515 IF a<=" " THBi LET ni(it-fi4L)=" ": PRINT AT row+L,c
oHSGN PI|' "
528 IF al=CHR$ MAL "13" THBi 60 TO m "558"
UHDATE MAGAZINE
22
CXTCBER 1988
531 PRINT AT row+L.col-s-s;' "! NEXT L: LET a«='
mm
558 TO 688«(optsl)4798»<opi-3}«8ee«(opt»S)
($88 BORDER m ■7'! PAPER INK o! CLS J INPlfT (
54)'(K«)}'5tapt MOVE "lai! aS ! PRINT FLASH sj" MOVING!
DO NOT STOP till end •
681 FOR ft=5 TO m "177*
692 IF CODE dmmi '\2?' THEN 60 TO m '67V
<i85 PRINT AT t,t|'Fi1es "jh
618 LET d<=rt(M, TO t)j LET a=CODE c$<M,m 'll'): IF N
OT a AND ii$<M)=' ' THEN MOVE /d$ TO dest
<J15 IF a=5 m ii*<M)=' ' im MOVE m DATA TO dest
428 IF a=WL '2" m ni«(M)=* ■ THEN MOVE /d$ DATA $ TO
dest
638 IF a=INT PI AND i$<M)=* • THEN MOVE /d»COOE TO dest
648 IF *=MAL M- AND iil(M)=- ' THB< MOVE /d<ABS TO dest
658 IF a=MAL '5' mf> ii*<M)=" • THEN MOVE /dWWL TO dest
668 NEXT H
678 PRINT AT o,o,,AT t,tj FLASH I5' MOVE OVER *! INPUT
<W)}' NEXT MOVE 7 FOR MB^U 'laf: IF a<=" THB< P
APER 0: BORDER 0: INK 7: DIN ii«(177,s): 80 TO 98
688 RliN
788 REM Re-nane files
782 LET o$='01d name: 't LCT nl='New nane: '
785 FOR HFl TO 178
788 IF CODE c$(M)>WAL "127* im 60 TO 9999
718 LET d$«c$<M, TO t): LET i=CODE rt(M,WL Mr): IF N
OT a AND ii$(M)=" ' im INPUT (o*}d$)'(n$)jW: RESTORE /
d$TO
715 IF a«s AND ii»(M)«" ' THB< INPUT (o»jdi)'<ni)jtj$: RE
STORE /d$ DATA TO b$
728 IF a=5H AND iii<M)=* • THEN INPUT (o$jd*)'(n*) jl>*!
RESTORE /d$ DATA $ TO b$
738 IF a=INT PI AND ii$(M)=" • THEN INPUT <o$jd$)'<n$)|b
%i RESTORE /d$COOE TO W
748 IF a=WL '4" fHO nr$(M)=' ' THEN INPUT (of |d»)'(n$)}
b$! RESTORE /d<ABS TO b$
758 IF a=WL "5" AND fi*(M)=' ' THEN INPUT (o$jd$)'(n$)j
\Ai RESTORE /mi TO \A
768 NEXT M
778 60 TO 9999
888 RBI Erase files
882 FOR m TO 178
885 IF CODE rt<M)m '127" THEN 60 TO 9999
818 LET d$=c$<M, TO t): LET a=CODE rt(M,UAL Ml')! IF N
OT a AND iii(M)»' ' im EIMSE /di
815 IF a^s AND ii«(N)»- ■ THB4 EIMSE /d$ DATA
828 IF a=s4s AND irt<M)=» ' THEN EIWSE m DATA ♦
838 IF a=INT PI AND ii$<M)=" ' THBI EiWSE /d$CODE
848 IF a=MAL '4' AND ii*<M)=- • im EMSE /dIABS
858 IF ir^l '5" AND n«(M)»- ' THBI EMSE /dm
868 NEXT M
9999 GAT : PAUSE 588: 60 TO 2
>DATE MAGAZINE
A Conglomeration of QL TIPS
MUCHODAT
A crazy title for a crazy situation. This
is a little tip on FORMATTING MICRO DRIVE
CARTRIDGES. While formatting a bunch of carts
just received in the mail there were two that
just wouldn't take a format. First, did you
know tJiat a title isn't necessary to format a
mdv cart? format mdvl_ ENTER will do it. I
never could see much value to a title that one
never sees anyway. Anyway, after using a
short title "dta", as: < format mdvl_dta > I
had formatted 8 carts and t:here were two that
were cranky. I tried about 5 formats on each
to no avail. Now that exercise took about 2
hours of fooling around. Then I said, "just
one more time". This time I whacked in:
format mdvl_muchodat ENTER. Lo and behold,
the cartridge formatted perfectly! So I tried
the other cranky one, with: format
mdvl__muchodat . It formatted too! Now ain't
that a crazy one! There is more. After that
trick, I dug up tJiree more mdv carts that I
couldn't format before and had stashed away.
Two of the three formatted with muchodat as a
title. There is something fishy bout this!
Maybe theres something about a long title
which makes the thing format? Beats me! But
tihere's the tip for what it's worth.
INITIALIZING TRUMP AND SPEED SCREEN
IN BOOT PROGRAMS
Right now I'm gonna discuss HOW TO EASILY
MAKE YOUR MICRO mVJE OR DISK DRIVE BOCT
PROGRAMS INITIALIZE THE IRUMP CARD. If you
dont have Trump, this won't be a dunnin you no
good unless you just want to read about it.
The Trump Card has a lot of additional
Super Basic Tools to work for us. One is a
routine to copy a WHOLE mdv cart, all programs
instead of just one at a time. This can save
about 30 minutes of copying single files.
First though, lets ramble a bit.
When we first turn on the computer it can
see all of that additional RAM in the Trump
card, but it dont know nothing about the new
Super Basic commands that the Trump has tucked
away in its own ROM chips. Hie whole bunch of
Trump Card tools must be initialized once.
Then after doing that, from then on all of the
extra basic functions are available for use.
These Trump utilities must be initialized
by a direct command of: IK2_EXT ENTER. Now
if you allow the auto boot in of a program
UPDATE MAGAZINE
23
OGTOBER 1988
OCTOBER 1988
UPDATE MAGAZINE
from either Micro Drive or Disk Drive, you may
not be given the opportunity to enter the
1K2JXT command. Some programs just wont let
you break in to do that.
So, the thing to do is to modify the boot
program so that the first program line
contains the command: TK2_E)Gr.
Now if you also have SPEED SCREEN, you
should also add its initialization command.
That would be: < WZJEXT: _SPEED 2 >. Then
the BOOT program that has these commands in
the first line of programming should be
re-saved. After this, every time you load
that particular mdv cart (or disk) , the Trump
utilities will be initialized and the Speed
Screen will be turned on.
Now you can go ahead and TRY to do that but
RE-SAVING the boot program will give you a
report at the bottom "already exists". So
lets be a showin how to dun it- next in 1,2,3,
order:
1. RESET the QL "without a mdv cart"
installed, then hit Fl.
2. Install a write enable tab on the QLVIP
cartridge, and install it in mdvl.
3. Type; load mdvl_boot ENTER. The boot
program will load but wont auto run.
4. Type; list ENTER.
5. Type; edit 1 ENTER. Now line 1 of the
listing will appear at screen bottom. It will
read; < 1 CLEAR >
6. lype onto the line to make it read;
< 1 CLEAR :'IK2_EXT: _SPEED 2 > Then touch
ENTER, and the line should appear, as above,
in the listing.
7. Type: tk2_ext ENTER. This
initializes the Trump Card so that the next
step will work.
8. Type: save mdvl_boot ENTER. Ihls
will execute one of the TRUMP routines to give
a "SAVE OVER" an existing program In micro
drive.
9. A prompt will appear. "CK to Overwrite?
y/n?" Touch "y"
10. Now your new boot program replaces the
boot program in the mdv cart, and the next
time you use this cartridge the TRUMP and
SPEED SCREEN are automatically initialized.
You can do the same procedure for each of
your mdv cartridges. I advise that you make
back up copies of all original mdv carts and
do this modification on the Back Up copies.
Later, In another Issue, we will explore
making a "Library BOOT Menu" utility to do the
above Trump and Speed Screen initialization
and then give a menu of MDVs or DISKs in your
program library to select from.
COPY A CQMPLEIE MICRO DRIVE CARTRIDGE
With TRUMP
QL Basic does not provide simple commands
to COPY a complete mdv cartridge, only single
files or programs. Later in this issue Bill
Cable will present a utility to copy whole mdv
cartridges WIIHOirr Trump card or Sandy board
utilities. This procedure is for using the
Trump or Sandy Super Tools which are dormant
when you first turn on the QL.
First, reset the QL, and leave MDV 1
vacant. When Fl is pressed, you'll get the
flashing cursor, which means that you can type
in program lines, or do Direct commands. Now
we will do the steps with a few direct
commands to enter into the QL.
Flr^t though, INSTALL a formatted mdv cart
In mdvl (with write enable tab instal led) .
For safety sake, remove the write enable tab
of the new qlwp boot cart that we just made
(above), and we will copy it. Install it in
mdv2.
Type In the following direct commands, one
after another, using ENTER after each:
tk2_ext ENTER
wcopy mdv2_ TO mdvl_ ENTER
What happens next is a prompt with several
choices. The prompt will read exactly as
f ol lows :
MDV2_CL0NE TO MDV1_CL0NE Y/N/A/Q
Touch "A" for ALL, and the system takes
over and copies all files and programs from
mdvl to iidv2.
Back to Business with the C2L
CK, if everything has worked out, you now
have two copies of your new QLWP program which
has the modified boot program that comes up
and initializes TRUMP Super Tool Kit, and
SPEED ^3?EEN. These two cartridges are in the
mlcrodrlves and youre QL is in the BASIC mode.
Now lets get the QUILL Word Processor up
and running. Type: Irun mdvl_boot ENTER. Note
that a while back we loaded the boot program
to modify it by a command: < load mdvl_boot >,
which just loaded in the boot program without
letting It auto run. < Irun mdvl_boot > makes
it load in and run. This time when the qlwp
boot program loads in the TRUMP and SPEED
SCREEW will be initialized. BUT, I am told
that the QLWP program does not use TRUMP
utilities. Never the less, you can use these
procedures to modify boot programs that do use
the TRUMP Super TcjoIs.
UPDATE Mi^SAZIbE
2.4
OCTOBER 1988
OCTOBER 1988
UPDATE MAGAZINE
655 N. W. Territorial Rd ,
Canby, OR 97013
July, 11 1988
TS-2068 UP-DATE
1317 Stratford Ave.
Panama City, FL 32404 Vv\.--*- s/->.— — ^.^^^^-^^.^y-^ ^
Dear Bill:
Here are two articles for UP-DATE magazine. The one on
using LPRINT CHR$ was based on an inquiry to John Oliger. I was
having difficulty in conveniently using OUT 127 with lots of
DATA in printer graphics. He suggested trying these two pokes
which he hadn't used (he thought they should work). Well, they
did the trick and now I can copy programs direct from source as
far as LPRINT CHR$ is concerned. He suggested sending you the
idea if it did work.
The second article is from a suggestion in an EPSON printer
manual for duplicating DATA in printer graphics. Because the
loop for repeating numbers is tied to the numbers produced by
READ, the same loop can be used for several sets of repeating
numbers. As an example, the DATA in line 90 can be extended from
the 60 to 120 dots by duplicating what is there. Line 20 would
be changed from "60" to "120". This should produce a line twice
as long by duplicating the original, and just by making these 2
line changes.
Readers who have programmed in BASIC with the OLIGER
printer driver use the LET/P=0 command to send data to their
large printer. This command works fine for LPRINTing text and
messages but not so good for printer codes. When a programmer
wishes to use printer codes the accepted method is to go direct
through port 127 by use of the OUT command. For reference see
the OLIGER print driver manual and parts of Bill Jones's Smart
Text program plus UP-DATE (Printer Programming, 1988)
There is a way that follows conventional programming
methods such as LPRINT CHR$ n where "n" is a character code
number, or using a series of CHR$s to make up a printer code
such as'LPRINT CHR$ 27; CHR$ 52 (EPSON Italics ON). See your
printer manual for codes used by your printer. Probably examples
are also displayed in your manual.
According to John Oliger the procedure for using LPRINT
LPRINT CHR$ WITH OLIGER PRINTER DRIVER
UPDATE MAGAZINE
25
OCTCBER 1988
CXTCBER 1988
UPDATE MAGAZINE
CHR$ n is as follows: start with LET/P=0 and then make these 2
pokes, 23300,60 and 23001,3 in the immediate mode. Then program
accordingly, possibly try examples from your printer manual.
When RUN the programs should perform properly. This change will
not permit LLIST to be used so just use LET/P=0 and make a
LLIST. Make the pokes again to set up the program to RUN. What
happens is that these two pokes turn off the BASIC TOKEN
crunching .
If the reader's printer provides a HEX dump capability then
a simple test of a printer driver is easily made. With LET/P=0,
enter this one line program:
10 FOR N^O TO 255: LPRINT CHR$ N;:NEXT N
Set up the printer for HEX dump (see manual) and RUN. My printer
puts 20 HEX numbers to a line, from 00 to FF, many incorrect. If
the last line does not print just press the ON LINE button to
empty the printer buffer. Now run the same test after the 2
pokes have been made. Now I get a perfect 00 to FF print-out.'
This shows that the printer driver will correctly send all code
numbers to the printer.
GRAPHICS PRINTER TRICK
Readers who have tried any extensive printer graphics
programming (not a screen dump) probably got discouraged with
the amount of data required to key in. Consider that a printed
figure covering l"xl'» requires 60 head pin definitions per line
and 9 lines are required, making 540 definitions. Remember that
a space also must be defined.
Often there are repetative groups of code numbers of the
same values. The following procedure will print those duplicate
codes— in the DATA statement use negative numbers that denote
the number of repeats and the next number is the code to be
repeated. Then program the READ command to send negative numbers
to a loop that prints the required number of duplicate codes,
then returns to the next DATA number.
An example will illustrate this. Let's make a 1 pin line
with up-turned ends 8 pins high, total length of 60 dots.
10 LPRINT
20 LET A$*CHR$ 27+»K"+CHR$ 60+CHR$ 0
30 LPRINT A$;
40 FOR X=l TO 60
50 READ N: IF N<0 THEN GO TO 100
60 LPRINT CHR$ N;
70 NEXT X
90 DATA 255,-58,1,255
100 READ R: FOR J=l TO -N
110 LPRINT CHR$ R; : NEXT J
120 LET X=X-N-1: GO TO 70
The reader must adapt this to the printer driver program being
used and the printer code for standard density 60 dots per inch
or similar. For Oliger systems do not use A$ as OUT 127, n must
be used for LPRINT CHR$ n (delete line 30).
2.6
UPDiiTE M«3flZI^E OCTCBER 1988
CXTOBER 1988
UPDATE MAGAZINE
OTlie
O Boston
OCoriputer
O Society
One Center Plaza
Boston, MA 02108
^ ^
* BOSTOlSr OOMPXJT3SR SOO I ETY *
t Heweletter of the BaSTUG (Sinclair/Tlnez User Group> «
* Vol 7 No 5 *
The Slnclair/Tinez leweletter is
the official publication of the
Slnclalr/Tlmex User Group of the
Boston Computer Society (BoSTUG).
Annual membership for New England
residents Is S35.00 (otherwise
S28.00> per year. Subscription
to BCS/Update and one other news-
letter Is Included without cost.
The newsletter has an exchange
policy with Slnclalr/Tlmex User
groups willing to reciprocate.
Please forward exchange Issues to
the editor pro tem. Peter Hale,
P.O. Box 8763, Boston, MA 02114.
Unless copy written by the author,
articles are in the public dom-
ain. Attribution is requested.
BoSTUG is a sub gi'oup of the Boston Computer Society. BoSTUG
produces this nice 18 page newsletter, which is heavily in support of
the Sinclair QL and moderately in support of the TS-2068.
"BCS/UPDATE' is a large Magazine published by BCS for its members and
is not to be confused with UPDATE Magazine, our name deriving from
"UPDATE COMPUTER SYSTEMS" , computer consultants.
Two articles from the BoSTUG Newsletter are re-printed to sample
the quality and depth of coverage in this nice newsletter, ed.
2.7
UPDATE MASAZI^E
OCrCBER 1988
REPRINT FROM: BoSTUG Sinclair/Timex
ABOUT TOOLKIT U
Are there any QL owners who if
they don't have TK2, have not
been strongly advised to get It?
Anyone who has keystroked COPY
mdv2 fred to mdvl^fred a zillion
times to backup media finds VCOPY
worth the price alone.
Certainly, the Toolkit II manual
Is a forbidding document. There
Is no tutorial; Just a list of
keyword extensions with limited
and sometimes Incomplete direc-
tions on their use.
There Is not even a clue as to
where to get your feet wet, so a
sampling of easy and Immediately
useful keywords Is offered here.
Toolkit II extensions that are
easy and that you will enjoy are:
ALARM, CLOCK, DLIST, BX. EXTRAS,
HV, FRBH^MEH, RENAME, SPL, SPLF,
STAT, TK2_EXT, VIEW, VCOPY. VDIR.
VMOH, VREN, VTV, and VST AT.
All can be explored from direct
mode and you can't get In (much)
trouble (except for difficulty
understanding the manual).
But a lot of people are missing
out on three excellent features
incorporated In Tcxilklt II: ED,
ALTKBY and last line recall.
Last line recall <ALT><BNTER> Is
usually useful In direct mode In
SuperBASIC. It recalls all char-
acters since the last EUTER. Done
several times In sequence, It
recalls several lines at a time.
Once recalled, lines can be edit-
ed or reexecuted. It also works
from Psion programs, as a quick
and dirty copy, up to Psion's 22
character buffer limit.
ALTKBY is worth exploring. It is
buried in the back of the manual
in Section 21 and little is said
about it. Essentially it permits
writing macros. The syntax Is
ALTKBY 'x*, where x is any
one of the QL's character set.
In the example, x is lower case.
BaSTUG Slnclalr/Tlmex lewsletter
UPDATE MAGAZINE
Newsletter
Everything after 'x*. and within
the quotes happens when the com-
bination <ALT><x> is pressed. if
<ENTER:> Is desired for executing,
the ALTKBY definition can end
with ,** (comma and two single
quotes), which is <.ENT£R>.
How to use ALTKEY is not concep-
tually easy. One use Is ALTKE^Y
•1', CHRS(240)&'lflpl_setup',".
This line Is incorporated in my
Quill -boot. The same disk also
has the file 'setup^doc' on It.
Setup_doc is my style sheet for
correspondence. It has my return
address, the date and salutation
position and no footer. I don't
reorganize Quill's default page
each time I write a letter; 1
press <ALT><1>.
Programmers assign ALTKBYs to oft
used keywords (without an BNTER)
to emulate single-stroke keywords
papular in earlier Sinclair's. A
boot with a batch of user defined
ALTKBYs and a final line NBV Is
run at the start of programming.
HBV clears SuperBASIC memory (but
not the ALTKBY definitions.)
Finally, there is ED that Invokes
a full screen SuperBASIC editor.
The cursor keys move the cursor
over the full screen. They can be
combined with ALT and SHIFT for
special effects. It is easier to
edit existing programs with Over-
writing (SHIFT F4, as in Quill).
SuperBASIC programs often have a
number of duplicate or near dup-
licate lines. Editing a line
number replicates the line at a
new position and retains the old
line. If slight modification is
required, overwriting speeds any
needed changes.
For fun, slip in ED as a line
anywhere in a SuperBASIC program.
Run it. Predictably, when the
program reaches ED, it halts and
goes into full screen edit mode.
Mow press <ESC>. Vhat happens?
-Peter Hale
September/October 1988
OCTOBER 1988
REPRINT FROM: BoSTUG Sine lair/Timex Newsletter
QUILL FILfiSAVES
Mare than ance, my QL has mangled
a long QullI document through
poor disk or ralcrodrlve l/Q.
Either I removed the cartridge
before closing a file, or the QL
tried to write part of the file
to a non-existent track on the
disk or the QL crashed. The
result Is the sane - any attempt
to reload the file Into Quill
results In a Fiia i/Q Inccnplete
error, dlsasterous If you forgot
to periodically backup your work.
One such encounter farced me to
take a deeper look at how Quill
files are stared. I could do
this with "BGEP', which reads a
single byte from a file. Most
disk systems and toolkits have
this command.
I used BGET to print out the
numeric value of every character
In my partially-corrupted Quill
file to learn Its structure and
so recover at least part of It.
The most striking discovery was
that Quill files use the Null
character ICURSCO)] In place of
Carriage Returns. I also noticed
that a good portion of the QulXl
file Is formatting Information,
stored towards the end of the
file. It Is mostly strange con-
trol characters. All the text was
present, but some formatting
Information wais cut off during
the Incomplete SAVE.
1 tried renaming the file with a
_LIS extension and Importing
that, but Quill didn't like the
NUL's and stopped Importing the
file at the first occurance of a
NUL.
So I had to figure out a way to
extract the 'text' portion of my
document and re-wrlte It as
straight ASCII. BPUT came to the
rescue and the result Is the
listing below. In a nutshell,
the program reads a byte from the
damaged file In channel ir5. If It
Is a null, It's changed to a
carriage return lCHR»(13)3j If a
control character (less than
SPACE £CHR*<32^J but not CR>. It
Is changed to a space. Otherwise,
It Is a regular ASCII character
and left as Is.
The now ASCII character is writ-
ten to the new file in channeled.
The character Is also printed to
the screen so you can watch as It
goes through the file. Then the
loop repeats for the next
character until there are no more
characters to read. Vhat is left
Is a plain text file which can be
Imported Into Quill. I was able
to recover a 15 page document
this way, though It took about
ten minutes to do so.
Hopefully you will never need to
use this utility, but If you do,
here It Is.
- Jim Rodlln
10 EEMark "Fllesaver"
20 REMark Corrupted Quill file
30 REHark recovery utility
40 REHark by Jim Rodlln
90 REMark Requires Toolkit
60 REMark commands BGET & BPUT
dO REMark In the public domain
90 REMark Attribution requested
100 FLP^EXT: REMark or TK2_EXT
enable extended command set
110 CLS
120 0PEN#5, "mdv2_MYFlLE_doc"
: REMark file to save
130 0PEH_NEV#6, "mdvl_BBS_lls"
: REMark output ASCII file
140 REPeat loop
150 BGET#5, a%: REMark get byte
and put In a%
160 IF a% «0 THEN LET a'/i =13
REMafk convert null to CR
165 REMark replace all control
chars with SPACE
170 IF a% <32 AND a% 013 THEN
LET a% =32
180 REMark print character to
screen for visual feedback
190 IF a% »13 THEN PRINT
: REMark Carriage Return
200 IF a% 013 THEN PRINT
CHRS(a'/&>:
210 BPUT#6, a%: REMark write
ASCII byte to _LIS file
220 END REPeat loop
BaSTUG Slnclalr/Tlmex Newsletter
UPDATE MAGAZINE
September/Octaber IQaa
OCrCBER 1988
OCTOBER 1988
UPDATE MAGAZI^E
By: Bill Jones
Here we gol Iteing a beginner myself with the QL, I am a bit intimidated by the
thought of writing an instructional series. I hope that those of you who are
better qualified will Koreckt my mistooks, and broaden upon the subjects covered.
Then the subscribers will benefit from your inputs. So dont think that I will be
offended by feed back that tells me when I'm wrong and gives more detail to the
coverage. We want a interchange of prograiraning information. IF there are 8000 QL
users/ THEN 4000 KNOW SOMETHING that I dont. THEN IF half contribute, it is . sure
that at least 4000 will gain more knowledge. Thats what its all about.
This will be a continuing feature article. It will grow in complexity as the
scribe's proficiency grows. Right now, the scribe has about 30-40 hours experience
operating the QL, so it isn't likely that you'll find anything that is "above your
head" in these first few episodes. In fact I am strevin and strovin to make the
QLWP program zap this stuff in onto the paper. WHICH makes a good starting point.
Lets get started now covering —
HOW TO DO IT WITH QLWP
IF you have dug around as I have between the four sections in the back of the QL
manual, you know that these books were not written in a 1, 2,3, sequence that lets
you get right to it. I believe that, for this discussion, we should start with the
printer itself. If you have a SERIAL printer, just connect the cable directly to
the SER 1 or SER 2 port at the back of the QL. Lets use the SER 1 port. But if
you have a PARALLEL printer you will need one of the Parallel interfaces connected
between the printer and the QL SER 1 port. I was most successful by setting the
printer to its start up initialization set up, ie, no margins set, no LINE FEED, no
auto PAGE end, and ELITE 96 character lines, and 66 lines per page.. These are
"dip switch" settings on the printer itself. Later we can come back to the printer
switch setting if we need to. Generally, most users do not know enough about their
printer, and there is a need to study the printer manual to know how to set it up
for the best printing.
Now that we "think" that the printer is set up right, lets turn it off. Turn ON
the QL and keep Micro drive #1 VACANT until the Fl Key has given you the blinking
cursor. Then INSERT a blank MDV cart in either of the slots and FORMAT it. Now
that may be a problem for the first time user. Most of the MDV carts in use are the
ones that have had the "write enable" tab removed. If you are accustomed to using
disk drives, the MDV cart is "write protected" by REMOVING the tab that covers the
little triangular notch in the right hand edge of the cart "as you are looking down
on the label". In order to FORMAT the MDV you need to cut a thin piece of tape to
stick over the notch. I find that the best tape to use is a piece of Disk Write
Protect tab, cut across with scissors to be just slightly thinner than the width of
the shoulder of the MDV cartridge. This way, the tab is not rubbed off when it is
inserted in the micro drive. Once the "write enable tab" is installed, the mdv cart
will FORMAT, with the command: FORMAT mdvl__buwp Bu indicates that it will be a
Back Up cartridge for QLWP. Format the mdv cart TWICE, using the same procedure.
From what I'm told the mdv cart will be more reliable if it is formatted twice.
Next, we want to make a back up copy of the Word Processor cartridge. Do that
by installing the original cart in mdvl and the one just formatted in mdv2. Type
dir mdvl__ and touch ENTER. The directory of the master cart in mdvl will appear
on screen. Then, using the directory as a guide, copy each file listed in the
director/, using: COPY mdvl_name TO MDV2__ After all files have been copied stash
away your master Word Processor cartridge for safe keeping.
Now we are ready to go to work. Now install your back up cart you just made into
the MDVl slot. Next we will setup the software for your printer.
UPDATE MAGAZINE
30
OdCBER 1988
OCTOBER 1988
UPDATE MAGAZINE
Taking a little break from the details, the first page did print, so I'm
becoiraning an expert fast! Well, not quite, as I really didn't want that page number
and I dont know how to kill it. Anyway, for the most part it does prove that I've
been the route that I'm about to tell you about, which is —
HOW TO CONFIGURE FOR PRINTER
Now what we're gonna do is to CHANGE part of the QLWP software to make the word
processor print with the type of printer that you use. Dont worry about making a
mistake, as nothing you do will hurt the software, and besides, you are working with
a back up copy. Your equipment status should be: NO micro drive cart installed — A
RESET QL, Fl touched to give the blinking cursor — PRINTER OFF, When you have that
status, then: INSTALL the QLWP back up cart in drive 1. Type; Irun
ndvl_installj3as ENTER. Wait until the first menu comes on screen, and THEN:
follow the prompts to select the PRINTER TYPE. Usually this is all that is
required. But I had to be differenti I use a DAISY printer that has the Diablo
corapa table command set. So, after quiting this install_bas program, the printer
would kick up 6 lines before starting to print, print 3/4 of a page and then print
the page number. Now tell me WHO wants that kind of a page of print? SO, back to
<lrun mdvl_install_bas> again- and again- and again. Next day, I called ole Bill
Cable and got straightened out. Now this mought help you too: "READ THE DURN QUILL
SECTION"- all of iti The durn install_bas program was set up right after all. The
problem was in my not understanding how to trapsy about in the WP menus to DESIGN
the page. So, what I'm telling you is that the procedure of setting up for your
printer should work out OK. When finished, what you have done is to bring up YOUR
printer's command set as the one which will boot in when you use QLWP and select
PRINT at the word processor menu. After you select your printer type, the mdv runs
and re-records your printer set up so that it boots in for printing. Later, you can
go back and Irun the install program again to set up for a different printer. Now
that we have that done, lets create a document with the word processor program
WORKING WITH QLWP
Insert you back up copy of QLWP in mdvl, and RESET, When the QL has reset, Fl
starts the program loading and you have time to pour a cupa while waiting. Now
there isn't any point in draging this out, as the WP works very well with its menus
^ guide you. The important part is to use F3 to get the COMMAND menu and set up
the page with D-Design and M-Margins. Likely you wont need to use H-Header, as this
is a repeating header for every page. To do a single header, I find it best^Atype
the header and back up with the arrow key to its start, then pad in spaces to center
the header. Then run the cursor to the end of the header and use ENTER to shift to
the next line. When ready to print, F3 again gets the COMMAND MENU, where P-PRINT
will start the printing sequence. Nbw we will move on to another way to use the
QLWP program for doing controlled LISTings of programs. —
USE QLWP for LLISTings
Some folks never need a paper listing of software. But others need to do that
quite often. One can get a LLIST in the direct mode (cursor flashing) by: <OPEN
M/Serlc:BAUD 9600:LIST>. This makes LIST go to the printer. BUT- The listing
splatters across the whole page, 96 characters wide if thats what the printer is set
at. Most printers wont let you confine print with printer settings to less than 64
characters per line. I particularily need to LLIST at controllable line width for
printing listings in UPDATE. So, back to the phone for answers. Ole Mark, at
Sharps Inc. does more than just sell QL stuff. He's a programmer too, and -he told
me how to do it with the QLWP software. Here it tis
Load the QLWP program with Fl. Then use F3 to get the Command menu. Punch
0-Other, then I-Import. Next, the prompt appears to key in a MDV file to load.
Input <mdvljiame> and the next prompt asks for "by line?". Touch ENTER at this
point and the program lines load into the Word Processor as a ASCII file.
UPDATE MAGAZINE
31
OCrCBER 1988
OCrCBER 1988
UPDATE MAGAZINE
After a short while the entire program listing will load into the Word Processor
and the program lines will appear almost like you would see them in the Basic made.
But the listing is TEXT/ and can be formatted as text. Hit F3 for the Oonroand wenu,
then D-Design, then M-Margins/ and set the margins for whatever line length you want
to print the program listing. Then F3 again to P-PRINT. Thats all there is to it!
AND alia tine I was digging through the manual trying to find a RAM address to POKE
to get shorter lines in a LLIST. This is a better way after all..
By the time the next issue rolls in maybe I will have learned a bit more to
present in this QL BEGINNER COURSE. If you have things that you are bothered about
with the QL, but are ashamed to ask, this is the forum for discussing them. I'll
even let you remain anonymous. See you next issue 1
A QL PRINTING PRIMER
Here is a little tutorial for setting up the QL to print to paper "without a word
processor". It does not do much but print un- formatted lines to the left margins as
set at the printer. But, it will demonstrate how to make a printer print with
simple programming. You can key the lines in and operate it with either RUN or GO
'ID 5. Line 10 gets the INPUT typing routine at line 200. Then when finished, ENTER
executes the RETurn at line 220. Then line 20-28 presents a menu of options. When
<1> PRINT is elected, the typing data is printed, and the program repeats to get the
next typing burst.
The tutorial about "output to the printer" begins at line 50, which executes when
<1> PRINT is elected. <0PEN #4,serlc> OPENS the CHANNEL to the printer "through
Serial Port 1". Then the "baud rate" is set to 9600. Line 60 then uses <PRINT
#4,a$> to print the data. <print "#4"> directs the print to the "channel that was
opened". Look at the lines 70 and 80 which executes the other two print options,
for "line space" and "LIST to Paper".
When <5> QUIT is elected, line 300 executes, and is important to note. When a
CHANNEL has been OPENED, Channel #4 in this case, the channel should be CLOSED when
finished. There are many CHANNELS to route the computer's tasks though. Each
channel should be OPEN only for the task to be accomplished, and if the channel is
not CLOSED afterward then the next task to be accomplished could be sent to the
wrong OPEN channel.
The Print Tutor Listing
5 CLS
10 GO SUB 200
20 PRINT "Options :"\\"<1> Print the data"\
22 PRINT "<2> Line Space "\
24 PRINT "<3> INPUT New Data"\
26 PRINT "<4> LLIST"\
28 PRINT "<5> QUIT"\
30 INPUT a:CLS
40 IF a=3 THEN GO TO 10
50 OPEN #4,serlc:BAUD 9600
60 IF a=l THEN PRINT #4,a$
70 IF a=2 THEN PRINT #4,\
80 IF a=4 THEN LIST #4
90 IF a=5 THEN GO TO 300
100 CLS: GO TO 20
200 PRINT "Type the Data"\\
210 INPUT a$
220 CLS: RETURN
300 CLOSE #4: STOP 3.2
The programming at left could be
condensed a lot by chaining the
different programming commands
using a colon between. For
example, all of the lines from line
5 through 30 could be inclosed in
one longer line of programming. I
used extra lines in order to make
the tutorial easier to decipher.
Also, the IF THEN conditionals
used are in "simplese" basic syntax
which the QL reacts to nicely. You
can use almost all of the simple
Basic syntax of the older computers
with the QL, which makes it a very
easy computer to adapt to. We will
ease into Basic and Super Basic
as this series continues.
UPDATE MAGAZINE
OCTCBER 1988
OCTOBER 1988
SINC-LINK
UPDATE MAGAZINE
Vol. 5 No. 4
JULY - AUGUST '88
SINC-LINK IS fl PUBLICATION OF
THE TORONTO TIHEX-SINCLAIR USERS
CLUB AND IS ISSUED 5 TIMES A
YEAR. COPIES OF THE NEUSLETTER
ARE $1.59 EACH FOR N0N-HEHBER5.
CLUB HEMBERS RECEIUE A FREE COPY
AS PART OF THE $28.08 ANNUAL
HEHBERSHIP FEE.
NEUSLETTER5 ARE EXCHANGED, FREE
OF CHARGE, yiTH OTHER TIHEX-
SINCLAIR USER GROUPS.
ALL MflTERIRL 15 PUBLIC DOMPIN
9SS,.^"ii. REPRINTED- PLEASE
^"^S PUBLICm-ION AND THE
AUTHOR IF YOU COPY MATERIAL.
HIGHLY RECOMMENDED!
The Toronto f Cf^NP^Dfk Sinclair
User Club is one a-F the mast
active clubs in North America.
Tno a-F UPDATE' s best writers are
mainstays a-F the Toronto Group,
Bab Mitchell and George Chambers^
SINC LINK, the club newsletter,
is an excel lent source oF
i nFarmation. The Toronto User
Group has many USA members and
hie I came mare.
ONTARIO QL USERS TAKE NOTE!
Jain the Club and Form a special
interest group htithin this .
Sinclair Special interest Club!
Club membership and participation
is the best route to tal<e For
continuing to learn more about
your computer. -ed.
De^r Bill I
•TORONTO TIMEX - SINCLAIR USERS CLUB-
p. 0. Bos 7274 Sfn. A Toronto, Out., M5W 1X9
1 sa sorry for the delay. The heat is getting to me and I have been lax
in ay duties. Enclosed is a little discription of our group as you asked
for.
Our group is called Sinclair nHnaukee Users Qroup also called" SHUQ. He
Nere established in 1993 and ttork ktith all forms of the Sinclair computers
and their clones. He have 2X$0's, ZX$l's, TSJSOO's, 75206$' s. Spectrum's
and Spectrum emulater's, and the QL. He are in contact ktith 22 other Users
Qroups around the U.S. and Canada and snap newsletters Mith them.
He meet once a month on the second Hednesday of the month, our next
meeting is July 13, 19$$. The place we meet is in Elm Qrove Hisconson, a
suburb of Milktaukee, and called iferbrics' Inn, He chose them because of the
hall size and centralized location.
Our membership fee is $15 for the individual or $20 for a family. This
entitles you to library privileges, you must check them out in person, our
net^sletter, you can pick this up at the meeting our supply us with SftSE's
and I Nil I mail them to you. The newsletter has a subscription rate of $10
per year, this includes mailing.
UPDATE MAGAZI5E
33
OCTCBER 1988*
UPDATE MAGAZI5E
nSCRIPT VERSION S.3 FOR URKEN DOS
SOnUARE REVIEU by Bob IlitchBlI
880814
My long-awaited copy of Version 5.3 of HSCRIPT by Jack Oohany finally arrived early in June of this year. Because I
had told hin that I was using a non-standard, earlier version of the Larken DOS, he sent the progra* on cassettot to be
on the safe side. 1 was delighted to find that a back-up on disk was readily Mde by selecting DISK on the nain wnu and
then pressing B.
Docuaentation was on paper and the only other program on the cassette was the LCODES text which contains all the
various codes that a wide printer would recognize. I understand that the disk version contains all the docuaentation as
files.
The lain problem that I had had with ny earlier version ilSST was one of the printer dropping characters every now and
then. This problei has been resolvedi I a» happy to report.
The cost to M for the nev version was US$2S which included $5 for Miling and handling. The prograt is so audi better
than the earlier version that I was happy to pay the price.
Here are soae features of HSCRIPT (not necessarily in order of inportance) that eake the prograa quite attractive and
■ake M a convert!
1. Finding and Changing any string of up to 30 characters is siaple and very fast.
2. Headers and Footers (titles at the top and bottoii of each page of a docuoent) are easy to add.
3. rtoving, copyingi deleting, saving and loading blocks of text is fasti easy and very professionali with larkers used
to identify the block to be worked on.
4. The cursor noves very fast across the page. There is also a tab feature that is very useful when developing tables
and lists.
5. When aaking a back-up copyi it is optional to include the text as part of the back-ups ideal for aaking a version
that includesi say. a letter head for page 1. If you want to uke a LARKEN AUTOSTART copy* this can be done fay using
<CLEAR 4S0QO:RAND0nnE USR i02:RUN>. You have to CLEAR a higher address if you include any text in your save.
6. View Henory allows you to PEEK and POKE the contents of Mnaryl this starts at the LCOOE file which is handy if you
want to inspect and change any printer control codes.
7. The naAB of the text you are working on appears on the bone eenu. I find this to be very useful particularly as I
hop froe text to text fairly often. It let's ne know where I ai at the Mnent. The GIVE NAHE comand alloMS you to
assign or change the naee of your text at any tiae.
a. There is an alternative fattened character set that takes reading the text on ay aonitor such easier. The use of
different screen colours is restricted by the TS2Q68 hardware and I have settled on white ink on black paper as the best
for M.
9. The disk catalogue in the selected drive can be added to the text in progress. The drive is selected by entering a
nuaber froa 0 to 3 (iet 1 to 4 respectively). The LARKEN Raadisk is selected with <4> and this can be accoaaodated
easily by changing lines 131 and 132 in the BASIC with no addition to the BASIC length.
10. The new LARKEN Version 3 EPROM uses the token nSNE to call a file renaae routine and this was easily added to the
hoae aenu by a few lines at line 220 in the BASIC. Hatch out for an out of aeaory report here. I bad to sacrifice lines
420 to 440 (VERIFYi which I seldoa use anyway) to nake rooa for this.
U. I like being able to put cooaent lines in the text to serve as reainders to ae and that won't appear in the
printout. Tab settings are one exaaple as you have to reset these whenever they default to their noraal settings.
One thing that could be better: It's too easy to stutter in aore spaces than wanted when entering text. Hoveveri on
right Justification! these extra spaces are not really noticed.
nSCRlPT is a totally different word processor froa TASUORD which I have used for soae tiae and which has its devotees.
But there are so aany advantages to HSCRIPT that I have be^un to switch over to it for ay word processing tasks. Once
you get used to the protocol and press the right keySf HSCRIPT is Just as easy to use as TASUORD and a lot aore
rewarding. I recoaaend the purchase of HSCRIPT Version 5.3 and look forward to experiaenting with Version 6 when it
coMS along. Hurry upi Jack! _ ,
3.4
UHDATE MAGAZIJE CXItXER 1988
REPRINT FROM SYNC LINK
2068
LARKEH RAMdlsk for the TS 2068
by George Chambers
Our last newslettar carried an article by Greg
Lloyd, describing a RAMdIsk unit that he had recently
obtained from Larken Electronics. I have recently
purchased one of these units, and should like to tell
something of my programming experiences Kith It.
Firstly, when 1 got It I could not figure out how to
use It effectively. After all, while it can conUIn a
total of 256K memory, mine only came equipped with 64K
and there really Is a limit as to how many program one
can hold with that. Which programs should I place on
It. etc?
On top of that I already had a second drive on my
system that seemed to be only used when I wanted to
copy a program. Of what use was another bit of
expensive memory. And It Is expensive, if compared to
the memory capacity of a disk. A disk will hold 360K
and costs about 65 cents. A 32K SRA/4 chip costs about
$15. And the RANdlsk Is really a solid-state drive,
not a memory expansion to your computer. That is to
say, you still have only 38IC of memory in your
computer to play with. The RAMdIsk memory is not
bankswttched in to the computer: it It loaded Into the
computer memory the same as from a conventional drive.
However, despite this unpromising prospect I have
found a very fascinating application. What I have done
Is to place 58 of my most useful utility files on a
single disk (I call it my OMNIBUS disk), and Installed
it In my second drive.
I then placed the several menus (the menu program
listing in the Nov/Oee '87 Issue of this newsletter)
required to access these files into the RAMdIsk. In
the beginning I had one AUTOSTART (menu) program, and
several other menu programs i.e. menu. 81, menu.B2,
etcthat 1 called up from that AUTOSTART menu. I
found that presently I had used 7 of the 12 available
tracks on my RAMdIsk; horribly extravagant. (The
RAMdIsk uses the same tracks format of the other
drives)
It was then suggested to roe that I combine several
menus into one program. This made sense, because as It
was I was storing a program of about ISOO bytes onto a
5090-byte track. The other bytes, 3410 of them, were
lost. I started combining menus onto a single program,
and now I have 5 menu screens combined. More will
follow. I use a menu option to move to the various
menus.
(tost of the programs themselves are on the OMNIBUS
disk, installed more or less permanently In the second
drive, and are called up from the menus obtained from
the RAMdIsk. Mhere a program is called up that resides
on other than the OMNIBUS disk, the menu displays a
request onscreen for that disk to be placed into the
first drive, PAUSE'S until you indicate 'ready* by a
keypress, then loads from that drive.
Larry Kenny has revised his DOS EPROM, yiy<ng a new
connand which has proved very useful in this
application. The format of this conmand is PRINT USR
lOOt NEW (or PRINT f4s NEU). This provides a 'warm'
AUTOSTART capability to the DOS.
I use It this way. I have modified many of my
programs to provide an exit from the program. The exit
normally would take you to a STOP command. To use
this new OOS conmand I terminate a program to the
following line sequence.
LINE 9000 PRINT f4t GOTO 4: PRINT 14: NEW
The 'GOTO 4* points the OOS toward the RAMdIsk and the
*NEH* initiates an AUTOSTART routine in the RAMdIsk to
bring up the 'menu' program. The effect Is to bring up
the OMNIBUS disk menu at any time from within a
program with a single keystroke. Note that this new
command Is for all drives; it's use is not confined to
the RAMdIsk.
This new OOS command also offers another
interesting programming possibility. Invoking the
'PRINT #4: NEW* conmand will bring up an AUTOSTART
program in the drive to which it is pointed. It does
this without shutting down the computer. Thus, any M/C
program presently In the computer (so long as it is
not overwritten by the AUTOSTART program) remains in
place awaitlno ute.
Larry advises that this command Is In Version 2 of
his OOS EPRON. Before you all rush out and ask him for
It, I suggest that you wait until he has had a chance
to Incorporate some other features into the OOS, that
he speaks of doing. Improvements to the printer
driver, and changes to the NMI routine, I have heard;
asnng others*
Now, I could hardly reconmend that everyone go out
buy one of these RAMdIsks. But what I have found is
that for those persons with two drives it certlanly
maximises the use of the second drive. And It most
assuredly reduces the number of keystrokes required to
operate the Larken system, plus reducing the number of
drive startups by possibly a half. And of course it is
silent and speedy, when compared to a regular drivel
Newsletters need news!
Write and tell us what
you knowl
Anything (almost! )
will be printed
UH)ATE MAGAZI^E
SIHC-LINK 3 5
OCTCBER 1988
OCrCBER 1988
UPDATE MAGAZINE
REPRINT FROM SYNC LIN^^''^'^''^'^ ^ ''^^^^^ ^
OPEN 0, CLOSE Ih CHANNELS & STREAMS - A TUTORIAL
Let's delve into the mysster ious realm of channels and
streams and those two odd tokens OPEN and CLOSE
TliesB two commands are extremely powerful and have
many uses and yet there is nothing at all about them
in the TS2a68 User Manual except to say that * these
and other commands like FORMAT, MOVE, CAT etc will be
used with future peripherals" . Well, by now we know
that many of these are indeed used with the disk drive
interfaces. But, long before DOSs came along, it was
apparent that OPEN # and CLOSE # did have a role to
play with tlie basic machine. Much of this has to do
with the opening and closing of channels and streams
with respect to the TS2040- printer and the TS2068
keyboard and screen -
The TS2060 coimiiun i cates with peripheral devices with
the aid of tl.e channel information area which lies
between the system variables and the BASIC program.
1hiB area starts at address 26680 and ends at 26700,
just short of- tho prograin area which starts, normally,
at 26710. A sliurt program given in the listing beioiu
will print out ail the information on channels and
streams. Part of its output is shown below as Table 1
(with some explanatory notes)," the code has been
divided into 5-byte blocks, , each block representing
one channel.
TABLE
1 -
CI-IANNEL
•INFORMATION AREA
Address
CI -.an
Value
Notes
26680
l<
0
1st 2 bytes = ROM add. 128Qd
26689
Ij
'( 3 *256+0 ) 2 ROM PR I NT r au t i n e .
26690
14
2nd 2 bytes « ROM add.3a86d
26691
i2
( 12-X-256+14) a get input key.
26692*
75
Code for letter "K".
26693
S
0
Ist 2 bytes same as for "K".
26694
5
2nd 2 bytes « add. 4543 5
26695
191
26696
17
input routine called-
26697
83
Code for letter "S".
26698
R
231
This block is reserved for
26699
10
■use by the computer and
267Q0 .
191
.^ is. not available to the ,
26701
17 ■
'.'user. ■ • . .
26702
82
Code for. letter "R".
26703
P
■.1st 2 bytes also point to
26704
5
128Qd: ROM Print routine.
36
UPDATE MAGAZIi^
(c)1988 Bob Mitchell
Page # 1 of 5
OCrCBER 1988
OCTOBER 1988
UPDATE MAGAZINE
TUTORIAL (TB2068 & SPECTRUM)
REPRINT FROM SYNC LINK
267015
26706
26707
191
17
80
Input routine callE?d;
(see explanation below).
Code for letter "P".
26708
128
Stop byte.
When the TS2068 is switched on, 21 bytes are copied
from address 4522d in the ROM to the channel info area
where they may be altered by the user.
In the fourth block (Channel "P"), addresses 26703 and
26704 point to the ROM PRINT routine at 1280d (OSOOh).
These are often changed to point elsewhere (eg. in the
Aerco prcod^t they are changed to <5> and <251>
respectively which equates to 64261 (the start of the
prcode routine). Once these two bytes liave
changed, all printing will go via Channel "P" to the
<prcode> routine. To get back to the TS2040, these two
bytes must be restored to <0> and <5> respectively.
In Spectrum these 21 start-up bytes are in ROM 555 Id
and are copied to the Spectruin channel info area which
resides at 2vl734 to 23754. Addresses 237^i9 and 23750
equate to 26703 and 26704 in tlie TS206B.
Summing up, each block represents a channel and
contains five bytes: the first two represent the
address of the called output routine (normally in the
ROM); bytes 3 and 4 represent the address of the
called input routine; finally, byte 5 is the code of
the character representing the channel.
Channel "S" stands for "screen" and handles the output
to the monitor or TV display. Channel "P" stands for
the "printer" and liandles output to this peripheral.
Channel "K" stands for the keyboard but handles both
output and input; it inputs from the keyboard but also
outputs to the lower part of the screen display.
When the PRINT command is used, the output goes
through channel "S" to the main (upper) part of the
screen. By careful use of the OPEN # command, the
output can be made to go through any other channel.
Streams are associated with a specified channel and
there are 16 streams available (0 to 15). Using the
PRINT command normally sends the output through stream
"2" to channel "S". To' make the PRINT command go to
channel "P", it is only necessary to open stream 2 to
channel "P". This is done by the command <OPEN
#2,"P">. Note that this instruction has two arguments,
the former first tells the computer wliich stream is
37
UPDATE MASAZIM:
(c)1988 Bob Mitchell
Page # 2 of 5
OCTCBER 1988
REPRINT FROM SYNC LINK
TUTORIAL (TS2068 & SPECTRUM)
being altesred and the" latter identifies the single
character of the channel to which the stream is to be
directed.
If you type <0PE1M 4*2, "PV> then <PRINT " test " s PAUSE □>,
the PAUSE 0 cammand prevents the input routine being
called which would print an error report (bytes at
addresses 26705 and 26706 call the ROM routine at
address 4S43). Without the PAUSE 0, the printing would
be iinmed lately erased.
At switch an, only four of the 16 streams are opened-
Gtream 0 points to channel "K"
Stream 1 points to channel "K"
Stream 2 points to channel "S"
Stream 3 points to channel "P"
When a stream has been opened to a different channel,
it will continue to do what it has been directed to do
until told otherwise. A channel may be closed by tlie
command <CLOSE 4tn> where n is any number from □ to 15-
Also, a channel may be closed by pointing the stream
to its start up channel. For example, if stream 3 has
been opened to channel "S", it may be closed by the
command <CLOSE «3,"P". This example would send all
LPRINT and LLIST commands to the screen until it is
told to revert to normal. This is particularly useful
to the programmer during the debugging process to look
at the results of the LPRINT commands on the screen
rather than waste printer paper.
When a stream has been opened to the printer, the edit
line (lower screen area) is unaffected? in fact, any
PRINT #0 or PRINT #1 commands will continue to display
on the lower screen. Use of the hash symbol <#>
fallowed by a <□> or <1> changes the print stream to
the lower screen. PRINT, LIST, INPUT and INKEY* may
all have their output affected this way 5 their default
value is stream 2 (the upper screen)? that is to say,
PRINT 4*2 is the sam^ as PRINT and PRINT #3 is the same
as LPRINTi etc.
Type in the fallowing listing
anytime you want to check
channels and streams.
3 REM This program works in
either TS2a6a .or Spectrum
"5 REM ===ss=sa"ss»=s==s==»"="='==»=**«='=
6 REM Use GO TO 10 for info
on channels & streams.
7 REM Use GO TO 200 to PEEK
38
and save it? then use it
the current status of
UPDATE MAGAZIbE
(c)19SS Bob Mitchell
OCTCBER 1988
REPRINT FROM SYNC LINK
,TUTORIAL (TS2068 «c SPECTRUM)
streafTi info in system
variables. Use GO TO 220 to
PEEK channel inPo area up to
start of program area.
9 RFM sssssssssssssss3=3.-=!=sr=r3sss=r=:sssst=s==s
ID LET a«PEEK 23631-h256*PEEK 2
3632 s LET b-a
20 IF PEEK a=128 THEN GO TO 70
30 PRINT "CHANNEL " 5 CHR* (PEEK
.(a+A) )
40 PRINT "Output Addresss" »PEE
K a+256*PEEK (a+l)
50 PRINT "Input Address^" ; PEEK
( a+2) •♦•256 H- PEEK <a+3)
60 PRINT ! LET a=a-H5 s GO TO 20
70 FOR a=23574 TO 23605 STEP 2
GO PRINT "Stream " ; ( a-^23574 ) /2
5 TAB J.o;
90 IF PEEK a+256*PEEK (a+l)«0
THEN PRINT "CLOSED"! NEXT a: STO
P
100 LET c=(PEEK a-H256*PEEK (a+1
))+b+3
110 PRINT "points to Channel "5
CHR* PEEK c! NEXT a
120 STOP
130 RANDOMIZE USR 100: SAVE " ch
ans.Bl" LINE 10
140 STOP
200 FOR i=23568 TO 23605: PRINT
i , PEEK i : NEXT i
210 STOP
220 LET prag«PEEK 23635+256^PEE
.K 23636
230 FOR i=b TO prog-i: PRINT i,
PEEK i;TAE 20;CHR$ PEEK i AND PE
EK i>«32 AND PEEK i<«90: NEXT i
s start of CHANS
from sys variables
5 last byte in table
: channel letter
: output address
s input address.
: stream number.
: closed channel
: channel letter
: Lark en SAVE routine
: addresses of
channels attached
to streams.;
: start of prog area
: examines chan
info area up to
start of prog area
The FOR. ..NEXT loop in line 200 will display a copy of
38 bytes in the system variables area containing the
address of channels attached to streams. Each stream
holds two bytes which accounts for 32 bytes and the
extra 6 are used by the internal editor and automatic
listing routines. Each two bytes contains a relative
displacement, from the byte before the channel info
area, to the channel that is pointed to. A zero means
that the stream is closed.
For Larken users, note the extensive use of OPEN in
the extended BASIC commands available and particularly
note that when any or all windows or large printer
channels are opened, 38 bytes (total) of memory are
3.9
UHDATE MAGAZINE
(c)1988 Bob Mitchell
Page # 4 of 5
OCTOBER 1988
OCTOBER 1988
UPDATE MAGAZINE
REPRINT FROM SYNC LINK TUTORIAL (TS2068 & SPECTRUM)
added to the channel information area- This changes
the location of the start of the program area and can
cause a raroblem if there is machine code in a REM
statement in the first program line- (This problem can
be avoided by PEEKING the start of the prog area and
then using this value plus 5 as the call address for
the machine code routine in the REM statement? eg?
<LET K=PEEK 236354-256*PEEK 23636: LET x=x+5 s RANDOMIZE
USR x> ) . In these 38 bytes which you can examine by
using line 220 of the listing, you will find that new
channels have been set up at the beginning of what was
the start of the program area.
An interesting and illuminating exercise is suggested
for Larken users!
.<LOAD "Chans, Bl">, ie, the listing above-
.Open some of the Larken extended BASIC channelsi.
'.Try <RANDOMIZE USR 100s OPEN #4,"dd">.
.Then <PRINT IKts OPEN tt3,".w0">. ) These will
-Then <PRINT 4t4! OPEN #6,''wl">. ) open three
.Then <PRINT #4s OPEN #7,''w2">. ) windows.
.Now use the listing above to look at' what has
happened. Try doing the same thing with the Spectruiri
emulator in place, if you have one-
1*11 leave the heavy thinking to you at this point.
What I have written will pose some other questions and
I look forward to someone else expanding on this theme
in some future issue-
(c)19Q8 Bob Mitchell
Page # 5 of 3
GQQQQQQQ
ZZZZZZZZZ
XX XX
*
QQQQQQQQQQ
ZZZZZZZZ
XX XX
QQ
QQ
ZZ
XX XX
*
QQ
QQ
ZZ
XXX
*
QQ
QQ
ZZ
XXX
QQ
QQ QQ
ZZ
XX XX
«
QQQQQQQQQQ
ZZZZZZZZ
XX XX
*
QQQQQQQQ
ZZZZZZZZZ
XX XX
*
QQ
*
*
The Journal Covering Amateur Radio & Sinclair Computers
ZX-88; Micro-Ace; ZX81 ; T/S 1898, 1588, & 2868; QL
Alex. F. 8urr, K5XY, Publisher
2825 0' Donne n Drive
Las Cruces, New Mexico
88881
SUBSCRIPTION *15 PER YEAR. S^=tf^PLE ISSUE FOR SELF ADDRESSED
STAMPED ENUELOPE WITH *8.45 POSTAGE.
UPDATE MAGAZItE ^ ^ OGTOBER 1988
TELEXXMPiniNG, WHERE WE STAND
By^ Bill Jones WEKffVJI
Back in 1948 Television came into the homes of America. Almost all people thought
of TV as an adjunct of RADIO. Radio was THE INDl^TRY, and TV was thought of as a part
of it. Of course, TV became its own industry. This bit of history is used to make the
point that lELBOOMPirriNG is destined to become a giant industry of its own. Another
illustration: If one looks down upon a ant bed, one sees much activity, bat all seem
to be going in different unorganized directions. Telecomputing is kinda like that
today. Telecomuting is now riding piggy back on two existing industries. Computers and
Telephone. But a break-out is about to happen. Amateur Radio Operators are leading
the way. Most think of "HAMS" as guys pecking away sending and receiving "di dah dits"
and making not so funny interfering lines on TV screens.
But many HAMS now are operating computers and are involved in a form of
Telecomputir^ called PACKET. Hie principle involved in Packet is the use of Radio and
Computers to Conmunicate. Most of us are aware of Modem Communications with computers
via telephone. I became acutely aware when I received a shocking telephone bill a
month after getting my modem. PACKET bypasses the telephone, and provides direct
computer link up via radio.
NO TELEPHONE BILLS!! But, as with any fledging industry, there are problems, and
there are "turf fights". A&T wants the business and would like to confine
TelecoDputing to the use of their telephone networlc. As more computers with modems
come on line, local telephone organizations want to develop means of charging for
service. The HAMS have a good thing going with Packet, but the Federal Communications
Commission regulates Amateur Radio and confines their activities to "Hobby Use", no
commerical operation allowed. Hams can operate with Packet, but ordinary folks who are
not licensed radio operators cannot operate Packet. It's against the law.
During the latter five years of the 1980 's, the Computer population skyrocketed from
less than 1% of homes having computers to more than 40* by 1988, and will be up to 80%
before 1990. The natural progression is for families to take advantage of the
computer's inherent ability to communicate with the surrounding World. To accomplish
this step there must be a breaking out and away from the confines of the telephone
industry and the Federal regulation of communications, which is now the most limiting
factor. Of course, there must be an organized way to accommodate the tens of millions
of people who will be using computers to communicate. Otherwise there would be chaos,
everyone trying to communicate, but interfering with each other. This is the next step
that must take place between Government and industry planners.
I would invision the decade of the 1990s bringing in a coordinated "starter plan"
with Federal regulations licensing telecomputing via satellite, similiar to Packet,
plus UHF repeater nets, and local cable service. As the industry builds, and
commerical applications expand (profit potential), we will see the Television industry
wanting to get into the act, and TV will become a valuable partner to Telecomputing.
Each TV channel can accommodate quite a number of discrete side band channels for
computer communications without interfering with their regular video programming. One
could Just subscribe to the service and plug their computer modem into the TV set to
receive a daily schedule of services.
In the meantime, awaiting the break through, and the concerted organization needed
to thrust telecomputing into tens of millions of homes, a few intrepreneur HAMS are
taking the forefront and developing Padcet. Bob Diggs is one of these leaders. His
letter and article that follow reveal scxie technical problems being experienced and the
level of current telecomputing technology with the Sinclair G9L., and all ccxaputers as
well.. Read between the lines to discern Bob's personal dedicaticm to the advancement
of telecomputing technology. The following sketch depicts vdiere the industry stands at
present and the paths for expansion during the next 5-10 years.
UIOATE MAGAZItC
OCTCBER 1988
UPDATE MAGAZI^E
Bob Diggs, KV3Q
North East, Maryland
August 22, 1988
To: Bill Jones, WD4FJI
Alex Burr, K5XY
Subject: QL on Packet
This memo is addressed to both of you so that you both will know what is going on
here and can help me get some information to those HAMS who may be interested. I
started a draft of an article for QZX vrtiich somehow got lost in a micro drive with a
message saying, "file incomplete". I had made a print-out but didn't feel up to
re-doing it because of hot weather and too many other things to do. Also, among the
three of us, I dont think that Packet is all it's supposed to be. There is too much
CPU (interference, ed) from re-trys of hams trying to download a bulletin board list of
messages or nodes that it becomes too difficult to connect for a QUO (discrete two way
interchange, ed) or to get a gang together for an unproto bull session. Never the
less, I do use my QL for Packet, using MIKE_TE2?M almost all of the time. I am, however
getting ahead of myself.
Alex, what started this memo was a note from Bill saying that he saw my interest in
QL Packet in QZX and wanted to publish the details in UPDATE, a magazine that I am not
familiar with because it has been a publication for the TS-2068, which I dont have. My
Ham interest says to write for QZX, but my public spirit says to write for anyone who
is interested because there are so few out there on oL Packet.
First, do I have anything new or worth publishing? Enclosed is a printout of what I
lost in the file. Writing this stuff is new to me so I'd like to know if I'm on the
right track. Second, I dont know the format to present this material for either
publication. I belong to C.A.T.S. and each newsletter clearly states how articles
should be prepared for publication.
Third, I hope that you can both use it, rather than have it go to one and not reach
some guy or gal who could use it. I dont know much about computers and programs and
such, but if I satrt the ball rolling, someone who knows more can make things better.
So Bill, this is my answer to your card. I hope that it helps. Let me know if you are
interested in what I started and I'll try to put it together.
Best regards.
Bob Diggs, KV3Q
(Comment by the editor; Bob's address is left off to protect his privacy. Letters
to him mailed to UPDATE will be forwarded. QZX is a monthly newsletter for Ham Radio
operators. QZX, 2025 0' Donne U Drive, Las Cruces, NM 88001. Subscription is $15.00
per year. Those of you who are interested in more about Telecomputing and Packet are
requested to send in an interest card. The amount of response will dictate the amount
of future coverage. Bob's article follows.
PUrriNG THE QL TO PACXET
Bob, KV3Q
As Alex noted in the June issue of QZX. I'm
trying and can now say that I'm using my QL on
Packet. It wasn't easy but I finally made It. A
monitor was one mighty important item, in fact
trying to do it without a monitor was a failure.
My Packet activity is strictly 2 meters, using a
MFJ-1270B TNC connected to SER 2. I have two
programs on micro drive cartridge, QL TE3?M by
Richard Moldovan, and MIKE_TEEM from the April
issue of QZX. Each has a special use. Each has
different problems and neither is canpletely
satisfactory. However I am using my QL c»i Packet
and it is there whenever I want it. SER 1 has my
Citizen 120D printer, and SER 2 is Packet.
My old set up was either the T5-1000 or 1500,
ALPHAOOM 32 and a OOMLINK II connected to the
TNC. That was a very satisfactory set up indeed,
which allowed me to dump the screens to the
printer. This is scaiething that I cannot do with
the QL.
Before leavir^ for South Africa 1 ordered a QL
to be shipped to our Winter hone in Florida and
when we got back in Jamary it was waiting. I
went to the Winter Fest in Orlando and found that
there was no one there vdio had any idea of what I
was talking about when I brcxaght up Packet. Bit
I did learn one important thing, and that is that
the QJJG SER2 pin connections are not as printed.
That turned out to be academic, because the
standarxi SER cable that I bought there works OK
when connected between SER2 and the MFJ TNC. It
was suggested that QL-TEEM was a good program for
a Modem and possibly might work with Packet, so I
ordered it.
QL-TERM arrived soon after and v*iat a
disiappointment v^n I tried to use it! I asdc
the dealer if my problem could be because I was
using a TV as a monitor. Of course, he couldn't
answer that question. So, Packet went to the
back burner vhile I concentrated upon finding a
printer that I liked at a price that I could
afford. In the meantime I was wondering if
anyone was getting anywhere with using their QL
UPDATE MAGAZIte
CXITCBER 1988
on Packet. The US Postal service did not forward
QZX or CIW, so there I was in a black hole, so to
speak, and no way out. Then lo and behold,
Michael Mitchell came through with a program in
April QZX. Vflien I put the program on Micro
Cartridge I learned that it needed a Monitor. By
this time I had determined that a monitor was
needed for general use anyway.
When I got the monitor on line, the first
program to try was QL-TEKM. It woii<ed but there
seemed to be a problem between the computer and
the TNC. They couldn't seem to communicate
without messing up some of the characters. The
radio ccwununi cat ions over Packet seemed to go out
and come back OK despite the garbage on screen.
So, I tried the MIKB-TE{?M program only to see
single letters scrolling up the left of the
screen. I searched for the problem hut didn't
find it until much later.
When using the TS-1000, the OOMLINK-II
required a baud rate of 300, so I stuck with that
until I discovered that by switching the TNC
switch to 1200 baud the garbage on screen
disiappeared.
At last I had a program working, but couldn't
back space or erase in the normal way. The
solution is to use CTRL H instead of the normal
DELETE. Yet to be resolved is how to duplicate
the screen to printer as I used to do, but that
will come later, I hope. Another bother is that
the CTRL S takes a while to stop the scroll,
longer than the TS-1000 and most likely because
of the baud rate.
Then it was back to MIKE_TE3?M. A intense
study of the program listing revealed a missing
in line 270 at the end of the line. That did
it, but backspace reared its head again. A
partial solution is to use CTBL H again, but the
lack of cursor means that you are typing without
reference. Now if I make an error, I use CJTRL X,
which shows a "/" and scrolls to the next line.
Hie advantage of NIKE_TE294 is that it loads fast.
The disadvantges are, no screen dump to the
printer and no flashing cursor. I then changed
the window to have a program for TV use, and that
works fine. Neither programs have macro keys.
So. that is \ihere 1 stand with using QL on
Packet. It is working fairly well but there is
still a long way to go. To summarize;
1. Use a Monitor or MIKE_TE3?M modified for TV
Screen.
2. Ser2 port pins are: 1-ground, 2-Tx D, 3-Rx
D. 4-EfrR, 5-CrS, 6-K3RND, 7H3RND, 8-blank, 9-T/2V
3. OL.TERM: Needs Monitor. 1200 baud. Must
anticipate CTRL S or lose some screen. No screen
dump. Erase and backspace with CTRL L. Can't go
to QL programs when you Qait.
4. MIKE^TERM: Easy to load and use, but lacks
cursor and screen dump. Use CTRL H to erase, but
no cursor makes it hard to use. Use CTRL X to
cancel line and start over again with new line.
Be sure line 270 has a ";" at line end. Modify
window if using TV. Can quit and load cL
programs and vice versa, A good program. I use
it daily to check my BBS,
I have i-ieed two other pixsgrams, QOCa^ and
QLINK. without success. The copies that I am
using could be at fault. I will try to learn
more about them and report when I make
significant progress with these or the other
programs. Bob, K3VQ
EJd, comments: Screen Dump to printer is
supported by the special language contained in
the PISON ARCHIVE software. This may be an
avenue to pursue to link with the modem
softwares. Qnoss talk between those using the OL
within the telefrfione modem environment and Packet
users should be fruitful. UPDATE will open up a
channel for such cross talk in the pages, and
will publish the names, addresses, and f^ne
listings of those who have keen interest in
Telcomputing, either via telephone or Packet, and
who would like to establish direct communications
with each other. Hopefully, we can have
something useful in every issue of UPDATE about
Telcomputing with the QL, the TS-2068, Via
Telephone and ailletin Boards, via Packet, and
via direct telephone between users. The extent
of coverage will depend upon the amount of inputs
from the readers, as there is little "in-house"
expertise on this subject.
FORMAT OF UPDATE MAGAZINE
Back last year, UPDATE began with a
couple of ideas that became too difficult to
manage. One was Coloured page sections.
The trouble with that is that paper
suppliers have no standard colors. On month
pink is rose and next month it. is some other
shade. So, I abandoned that Idea.
Another plan was to have sections by
major subject area. "Ihis worked out well
for only a few major sections.
Telecomputing, TS-2068 Extra Memory,
Schematics, and The Electronics Data
section. All other subjects seem to blend
together.
Ihis October 1988 issue is the first
issue to be printed by a commerical printer,
and that makes it not to be feasable to
continue with the colored page section idea.
Ihe editor will avoid "skip continuations"
of articles from an earlier page to a page
that is deeper within the magazine. Ihis
will allow those who want to file pages by
subject area to do so.
3
UPDATE MAGAZINE
OCTCBER 1988
OCTCBER 1988
UPDATE MAGAZINE
A O.L. Address File
Bob Hartung, 2416 N. Co. Line Rd., HuntertoMn, IN 46748
Some like nxself who are neu kids on tlie block with the
QL nay be looking -for info on getting started in QL
SuperBasic programing. The QL User's Guide (QLUG) is
something less than a nasterpiece of clarity, and most
current publications seen to have moved on to more
advanced topics, so, from the perspective of a rank
beginner, here are a few 'QLues* I have stumbled onto so
far. Assuming that not everyone has installed Toolkit II
(TKT) or Trump Card, I will use only the syntax accepted
by the unexpanded QL unless otherMise noted. Direct
command entries will be indicated by <comnand> with a
slash / between those keys to be pressed at the same
time.
Since the best way of learning is usually by doing
(there are exceptions such as learning what kinds of
wild mushrooms are safe to eat!) I will give the listing
for a SuperBasic program, then explain some of the whys
and wherefores of it. A reader requested a mail list
program, which seems a practical way of illustrating
some points. Of course the ARCHIVE database SU bundled
with the QL may be adapted for this but all its bells
and whistles and whirring microdrives sometimes seem
overkill for a simple mailing file and printout.
To make this into something for everyone, I will also
try to use syntax that can most easily be translated by
TS2068 <and Beta Basic) users, rather than exclusively-
QL structures and commands that might be more elegant
but less familiar. Purists who are bothered by my use of
subroutines instead of structured procedures may easily
replace the REH labels with DEFine PROCedure name, the
RETurns with END DEFine, and the 60 SUBs with the
respective procedure names. I ran into an anomaly,
however, on the SORT routine when defined as a procedure
in that it re-orders a file perfectly the first time but
then seems to lose track of scne file items on
subsequent calls. Til leave that as a challenge for a
sharp T/S UPDATE reader to figure out!
The minimum essentials of a mailing list are to provide
the means of entering, storing, retrieving, and printing
out the files. It is also useful to have the means of
re-ordering them alphabetically, usually by last names,
selecting particular ones for display or printout,
adding to the file, and editing or deleting. This
program will do all these, albeit more slowly than a
whiz-bang machine code or compiled one. To economize on
page space a 56-column listing format was used instead
of the 40-coluffin NODE 8 or the 64-column NODE 4. Now
with all these disclaimers stated, let's get on with it.
For less pain and strain in entering the listing, <AUTO>
44
UPDATE MASAZI^E
supplies line numbers starting at 100 in increments of
10 or <Am'0 n) will start at line n in steps of 10. Use
<CTRL/SPACE) to break out of AUTO. During entries of a
new listing or when editing an old one, <AUTO 10) or in
the same increments as the listing will automatically
bring each line into edit mode and <BfTER) will scroll
to the next. If <EDIT n) is used to bring down a
specific line, then the up or down cursor keys may be
used to scroll other lines into the edit window as long
as Sfl"ER has not yet been keyed. Of course TKT users
have the many conveniences of full-screen editing but
for those who don't have TKT the QLUG doesn't go into
much detail on how to use these normal EDIT functions to
make life a bit easier.
I would suggest starting by entering line 1540 DEFine
PROCedure svi DELETE MDMLaddrfile; SWE MDVLaddrf ile.-
END DEFine sv. If you do not have the IKl FREEJ1EN
command you might also want to add line 1550 DEFine
PROCedure freememi PRINT PEEK-L(163856)-PEEK.L(163852)
-1024s END DEFine freemem. Make the first save of this
with SAUE MDMLaddrfile, or change all the addrfile
names to BOOT if you want it to auto-load. Now whenever
you want to make a save during entry of the listing all
you need to do is key <sv). Enter <freemen) to show free
memory remaining. Procedure and function definitions
like these may be located anywhere and are transparent
until called, i.e. processing passes right over them as
it does for a DATA line.
Use RUN to initiate and key '9' from the menu to save
the listing to mdvl. To set up an all-new file, key "O*
and "y" at the ERASE prompt. 820 allows entry of 1, 2,
3, 4, or 5 for auto-entry of the respective titles (no
space between number and first name). If 9 is the first
character entered here then any other title or name may
be keyed in letter-by-letter following the 9. ISTOPwill
close the file and 60 SUB to the sort and re-order
routine 20, otherwise inputs continue for last name,
address, P.O., state & ZIP, and ID or phone no.
The state and ZIP entry may be skipped with just ENTER
(N/L) if the P.O. entry was made with a number. 860 &
890-910 may be expanded to include more auto-entries of
P.O., state, and ZIPs for frequently-occurring ones. To
avoid confusion, use 1 ine- increments of 1 for this and
wait until the entire listing has been entered and
checked before using RENUi 10,10.
Printer control commands for font, margin, etc. may be
set by your panel switches or a PRINT 17, command-
sequence for your particular printer may be inserted at
line 1300 after an OPEN I7,serl. Be sure to end this
sequence with a CLOSE 17.
TV MODE 8 (40-colHmn display with two screens) is
assumed so you may wish to adust some of the PRINT and
(XTCBER 1988
OCTOBER 1988
UPDATE MAGAZINE
10 sets black PAPER and white INK for the 112 nain
display screen and white PAPER and black INK for the «0
editing window. This gives a crisper display on B&di TVs
and conposite monochroie nonitors than the power-up
colors. Just use 10 80 TO 510 here if you prefer to keep
the original screens.
Note that in lines 130-200 you nay use apostrophes
rather than quotation narks to define character-strings.
The QL accepts either. The apostrophe is a little
handier as it requires no SHIFT, but for clarity and of
course for T/S translation the quotes should be used.
The reverse slash \ used by the QL for a line feed
corresponds to the apostrophe for the T/S. PAUSE without
a given value is the sane as T/S PAUSE 0.
A little surprise for T/S users (that users of nany
other conputers have had to reckon with all along) is
that it cannot be taken for granted that dinensioning a
nuneric array as DIM a(n) always sets every elenent to
0. Neither does DIM a$(n) set every string elenent to a
space or CHR$(32). The DIM sets the string array
elenents to CHR*(0), and then if LET a$<n)=" is used
they becone spaces. If no key is depressed, CODEdNKEY))
also returns 0. This is the reason for the value-checks
shown in 210, 610, and 810.
The IF-THEN structure of the QL allows nested test-
statenents, with ELSE alternative conditions that are
active when IF conditions are not net, as in 330 and
350. 350 could also have additional statements appended
such as ELSE OPEN I7,scrj INK I7;7 (which sets scr INK
to white or the color of your choice). The end of a
particular set of IF-THEN-ELSE statenents is narked by
an END IF to indicate that set of conditions no longer
apply to what follows.
The SELect ON sequences in 370-430 and 630-740 nay be
translated as IF-THEN statenents for the T/S. Beta Basic
(B6) provides the ELSE function and also has an ON
ccnnand that would require this change:
610 LET n$=INKEY$, if^L ffi$4l: IF n$»" im 60 TO 610
This allows lines 630-730 to be entered as only one line
to use the BB ON function:
630 ON n: 80 TO 770: 60 TO 790: 60 TO 970: 110: 60 SUB
20: 80 TO 1210: 60 TO 1320: 60 TO 1420: 60 TO 1310: SAME
•addrfile* LINE 10.
Lines 1330-1510 show how the QL sends and receives data
to and fron devices such as nicrodrives, nodens,
printers, networks, etc. For the T/S all this SAME and
LOAD footwork can be replaced by the sinple connands
SAME "nane" DATA f$() and LOAD "nane' DATA Hi), If LET
f$(400, TO 3)=STR$ last is inserted before the data
save, then LET last^^AL f$<400, TO 3) would re-define
the value of last after the loading of new data. (The QL
has no MAL function.)
LISTIN6 2 gives a search routine for T/S users. When
using it, the target-line to be searched is first narked
by nunber, then any consecutive set of characters found
at the very beginning of that line nay be used as a
search-word. Either a hard-copy printout or screen
display nay be selected. Line 350 could be changed to IF
yl=*y' THEN OPEN 82, 'P' and nake 470 CLOSE 82 to direct
the PRINT output of lines 380-460 to a printer or to the
screen if y$='n'. IF-THEN statenents would then be
substituted in 380-420, and the 17 onitted. In BB an ON
connand-sequence could be used here if 360 is nade LET
p=CODE f$(n)-48 so the number-sequence 1-9 is produced.
In BB the sort routine at 30-90 nay be replaced by the
sinple connand: 30 SORT f$(l TO last)(21 TO 40) which
will re-order 150 array elenents by last nanes in just
over 1 second. The QL search routine would be replaced
by the following in BB:
130 INPUT • LPRINT y/n? "jy$
140 INPUT 'CHR* in search-word (INwild): "jc*
158 FOR n=l TO last
160 LET p$=fi(n)
170 IF INSTRIN6(l,p*,c$) THEN PRINT n'f$(n, TO 94)'f*(
n,95 TO 114): IF y^'y' THEN 60 SUB 350
180 n
280 PRINT iiOi'SEARCH conplete": PAUSE 300: 60 TO 500
INARRAY would search the entire f* array but line 150
allows INSTRIN6 to search one array elenent at a tine.
Most BB connands and functions allow sinilar savings in
nenory-usage as well as processing tine which offsets to
a great extent the linitations inposed by the 22K free
nenory renaining with 66 in-residence. About 150
f ile-itens nay be handled by this progran using BB in a
Spectrun-enulated TS206B.
In edit node, QfTER scrolls through the file itens.
Entering "/.' will delete that iten, or if a nunber is
entered then that line-iten nay be re-entered as
desired. If nore than one line is to be changed the '6'
repeat option nay be used at the end of the edit node
sequence, or else it night be simpler to use "A' to
delete that whole iten, then go to the 'Additional
entries' node fron the nain nenu. Uhile entering new
file itens, if $T0 is entered instead of an ID or phone
no. then that entire file-iten nay be re-entered to
correct an error, or else you can wait and use the 'List
& edit node' fron the nain nenu.
Again BB has a nucb easier way of editing an entire
array elenent at a tine by replacing lines 1000-1200
with sinply 1000 EDIT f$(n) and 1010 NE)(T n. The entire
file iten is brought back into edit node for revisions
45
UPDATE MftSAZItE OCTCBER 1988
CXTCBER 1988
UPDATE MAGAZINE
by iioving the cursor up and down as well as horizontal Ix
through it, just as when it was originally entered.
Keying QITER scrolls through the -file.
The 'SAVE file" and 'LOAD file' modes require a
cartridge in ndvi (or ndv2 with required changes in
listing) so that the CAT routine nay list all -files
already on the cartridge. This allows checlcing file
nanes already in use to avoid overwriting any you wish
to keep. Since I have TiCT installed which doesn't
require the DELETE ndvLnanie be-fore saves, the very
-first save you naKe of the listing (and the save of a
file using a given nane for the first tine) nay require
adding an optional procedure without the DELETE on
unexpanded QLs to provide for such saves. If a save is
being nade with the sane nane as an existing file
without preceding it with the DELETE MCMLnane canand,
TICT users receive a warning pronpt and the 'Y/N' option
to abort or proceed.
I thinl( the remaining prograi REMarks and pronpts should
be self-explanatory, but then Tn looking at it through
different eyes than soneone seeing it for the very first
tine, so feel free to bring any errors or unclear points
to ny attention. For reply please enclose a SASE. I have
written an all Beta Basic version of this program which
will appear in a future SYNCUARE NEUS if all goes well.
It would serve a real need, I believe, if QL, T/S, and
BB users would send in your own programing hints,
especially those procedures and functions you have
created, so they can be shared here in UPDATE with other
users. And be sure to let Bill and his advertisers know
you appreciate their support. As Rod Gowen of RHB
ENTERPRISES, one of the very supportive surviving T/S
venders, stated in recent correspondance with ne, 'Ue
Sinclair users have to stick together!"
LISTIN6 1 - QL ADDRESS FILE
10 PAPER 0: PAPER i0;7: INK tlO;0: CLS: CLS iiO: 60 TO 510
20 REHark sort
30 LET HFlastj LET ssn
40 LET s=IMT(5/2)! IF s<l THEN RETurn
50 IF s/2=INT(s/2) THEN LET s=sM
60 FOR n=l TO n-s
70 in j=n
80 IF f$(j,21 TO 40))f$(j4s,21 TO 40) THEN LET x$=f*(j,l
TO 115)! LET fi(j,l TO 115)=f$(j+s,l TO 115); LET f
i(j*s,l TO 115)=x$! LET j=j-5: IF j)0 THEN 60 TO 80
90 END FOR n
100 60 TO 40
110 RBIark search
120 CLS
130 INPUT ' LPRINT y/n? 'jyf
140 INPUT 'CHR* in search-word (INwild)! 'jc^
150 FOR n=l TO last 4 ^
m LET p*=f$(n)
170 IF INSTRIN6(l,p^,c$) THEN PRINT n'ff(n, TO ?4)'f$<n,
95 TO 114): IF y*='y' THEN GO SUB 350
180 NE)(T n
190 PRINT ifOi'Search is complete* 5 PAUSE 300i GO TO 500
340 RBIark Printout subroutine selects printer or screen
350 IF y«='y' THEN OPEN I7,serl! ELSE OPEN Il7,5crj INK II
7,7! REMark Or INK n of your choice for scr
m LET p»CODE(f$(n,l))
370 SELect ON p: REHark Alternative to IF-THEN sequence
380 =49! PRINT 117, 'Mr. & Mrs. 'j
390 =50! PRINT l7,"Mr. 'j
400 =51 ! PRINT 117, 'Mrs. ';
410 =52: PRINT l7,"Ms. 'i
420 =53! PRINT 117, 'Miss ';
430 m SELect
440 END IF
450 PRINT I7,f$(n,2 TO C00E(f*<n,115)))j' "jff(n,21 TO 4
Q)\f$(n,41 TO 65)\f$<n,66 TO 80)\f$(n,8I TO 94)
440 IF y4='n' THEN PRINT 17} f$<n,95 TO 114)
465 RBIark For labels insert PRINT »7,\\\ here for LFs
470 CLOSE 17
480 RETurn
490 RBIark Henu
500 CLS! CLS 10
510 PRINT '0 - Start ALL NBrffile"
520 PRINT M - Additional entries'
530 PRINT '2 - List 4 edit mode'
540 PRINT "3 - Search node"
550 PRINT '4 - Sort & re-order"
560 PRINT "5 - LPRINT"
570 PRINT '6 ' SWE file"
580 PRINT "7 - LOAD file'
590 PRINT "8 - Set printer'
600 PRINT "9 - Listing SWE"
610 LET n=CODE(INKEY$): IF n=0 THB4 60 TO 610
620 CLS
630 SELect
ONn
640
=48!
GO TO 770
650
=49!
GO TO 790
660
=50s
GO TO 970
670
=51 !
60 TO 110
680
=52!
60 SUB 20
690
=53!
GO TO 1210
700
=54!
GO TO 1320
710
=55 s
60 TO 1420
720
=56!
GO TO 1310
730
=57;
sv
740 mO SELect
750 60 TO 500
760 RBIark Initialize ALL NB4 file
770 INPUT IO;"CAUTI0N-EIMSE OLD FILE y/n? (Naxinun
no. file5<400) 'jy$! IF y*="y" THB* DIM f$<400,l
15)!CLS 10! ELSE PRINT "FILE NOT EIWSED"! 60 TO 510
780 RBI Input to file
790 FOR n=l TO 400
800 LET p=0! RBIark p=zero
810 IF f^(n,l) <> CHR$<0) AND f*(n,l) O * ' f$(n,ll
UPDATE MAGAZII^l
CXTOBER 1988
0CTC8ER 1988
UPDATE MAGAZIUE
4) 0 "/,' THEN NEXT n
820 INPUT (n)\"$STOP IHr/Mrs 21r 3Hp5 4M5 SMiss op 9 the
n title OP fipst nane LET H(n,\ TO 20)=p$} L
ET «<n,115)=CHR$(LEN(p$))! IF p$=:"$STOP* THEN LET
f$(n)="! LET Ia5t=n-I: GO SUB 20! 60 TO 500
830 IF C0DE(«(n,115))<2 THEN LET «(n,115)=CHR$<2)
840 INPUT 'Last nane '^$(0, 21 TO 40)
850 INPUT •Addres5*M$<n,41 TO 65)
860 INPin 'P.O. OP lAUB 2BUT SfKT'Midi, 66 TO 80)! IF i
$<n,66)<='9' im LET p=I
870 INPUT 'State <2 chps42 spaces) & ZIP op N/L*\«<n,81
TO 94)
880 INPlfT 'ID OP phone no. (op ifo fop pe-entpy)"M*<n,9
5 TO 114)
890 IF f$(n,66)='r THEN LET «(n,66 TO 80)="Aubupn'! LE
T «(n,81 TO 94)=' IN 46706)"
900 IF «(n,66)='2' THEN LET «<n,66 TO 80)='Butlep'! LE
T «(n,81 TO 94)='IN 46721"
910 IF «(n,66)="3' THEN LET «(n,66 TO 80)='Hunteptflwn'
! LET «(n,81 TO 94)="IN 46748-nnnn"
920 IF p THEN PRINT f$(n,66 TO 94)\
930 IF «<n,95 TO 97)=W THEN PRINT 'RE-ENTER"! 60 TO
820
940 END FOR n
950 LET iast=n-l: 60 SUB 20
960 60 TO 500
970 REMapk EDIT file
980 as 10: PRINT iO;"Kex B4TER to keep op 7, to delete
ITEM NO. to EDIT"! LET z=8
990 FOR n=l TO last
1000 PRINT 'FILE 'jnMi'^'; f$(n,l TO 20)\2j"='|f$<21 TO
40)\3}'='}«(n,41 TO 65)\4|"='|«<n,66 TO 80)\55"='
|fi(n,81 TO 94)\65"='jfi(n,95 TO 114)
1010 INPUT irtj! IF n«$='r THEN PRINT 'DELETE!!': LET «<
n,I14)='X'! LET fi<n,2I TO 40)='zz2zzzzzzz': LET z=z
♦1
1020 IF C0DE(ii*)>37 THEN 60 SUB 1130
1030 PRINT
1040 END FOR n
1050 60 SUB 20
1060 LET x=1a5t
1070 FOR n=x-z TO x
1080 IF «(n,21 TO 30)='zzzzz222zz' THEN LET last^last-l
i LET «<n)=""
1090 END FOR n
1100 CLS
1110 as 10: INPUT lOi'Key B^TER to petupn to nenu op 6
to pepeat '} /$: IF y$ <>'6' im 60 TO 500
1120 60 TO 970
1130 PRINT "-LINE REVISION:"
1140 IF Bl="r THEN INPUT p$i LET «(n,l TO 20)=p$i LET
f$(n,115)=CHR$(Lm(p$)): IF C0DE<^$(n,il5))<2 THEN L
ET Wn,115)=CHRi<2)
1150 IF ii«="2' THEN INPUT «(n,21 TO 40)
1160 IF nr$='3' THEN INPUT f$(n,41 TO 65)
1170 IF fi$="4' THEN INPUT f$(n,66 TO 80)
1180 IF n$='5' THEN INPUT f$(n,81 TO 94)
1190 IF Bl='6' THEN INPUT f$(n,95 TO 114)
4 7
UPDATE MASAZINE
1200 RETupn
1210 REMapk LPRINT envelopes op labels
1220 INPUT "Continuous printout y/n? 'jy*
1230 FOR n=l TO last
1240 IF y$="n' THEN aS »0: INPUT IIO}<n)\<«(n,l TO 40))
\'KEY 5 TO SKIP OP ENTER ^op next '\nit IF n$="s" TH
mnw n
1250 LET p=CODE(f$<n,l))
1260 OPEN il7,sepl
1270 60 SUB 370
1280 mH FOR n
1290 60 TO 500
1300 RBiapk Insept YOUR ppintep coniands here
1385 60 TO 500
1310 RQIapk Save-data pontine
1320 CAT
1330 INPUT HO; 'SAME file name? '\yii LET nl=:"iidvl." & y
$: REHapk Op use "ndvZ." hepe & at line 1430
1340 DELETE ii$
1350 DPEN-NBJ i»7,n$
1360 FOR n=l TO last
1370 PRINT «7,f*<n)
1380 END FOR n
1390 CLOSE 17
1400 CLS 10: 60 TO 500
1410 RBiapk Load-data poutlne
1420 CAT
1430 INPUT HOj'LOAD file name? 'jy$! LET »«="nid»L" & y$
1440 DIM l$(400,115)
1450 OPEN-IN 17,11$
1460 FOR n=l TO 400
1470 IF E0F(«7) THEN LET h5t=n-l: 60 TO 1510
1480 INPUT I7,f«<n)
1490 END FOR n
1500 LET Ust=:n-1
1510 CLOSE il7
1520 CLS «0: 60 TO 500
1530 DEFine PROCedupe CATs CLSiDIR MDVL: END DEFine CAT
1540 DEFine PROCedupe sv: DELETE MOVLaddpf ile: SAVE MDV
l.addpfile: END DEFine sv
1550 DEFine PROCedupe fpeenen: PRINT PEEia( 163856) -PEEK
.L(163852)-1024! END DEFine fpeenen: REMapk AIIcms
free nenopy to be displayed by keying-in fpeenen as
dipect conand op as a listing connand
LISTIN6 2 - T/S Search Routine
130 PRINT "KEY LINE NO. TO SEARCH:"\
140 PRINT '1 - Title no. & f ipst nane (1Mp/M
PS 2Mp 3Mps 4Ms SMiss)'
150 PRINT '2 - Last nane'
160 PRIffT '3 - Addpess'
170 PRINT "4 - P. 0. OP city'
180 PRINT '5 - State abbpew."
190 PRINT "6 - ZIP"
200 PRM "7 - ID code op phone'
210 LET n«=INKEY$: IF a^" THEN 60 TO 210
OCrCBER 1988
■upda:
220 INPUT "Leading chr-stt in item ■j(ii$)\c4
230 INPUT 'LPRM y/n? '\yi
240 PRINT lOj'fiNY KEY FOR NEXT'
250 LET 5l=l»<ii«='l')42H<ii$="2*)*41i(ii«='3")4W»(n«='4'
)+81 »<n<=*5' ) ♦84»<ii*='4' ) ♦95i<ni«='7' )
260 LET 52=5l4LEN<cl)-l
270 FOR n=i TO last
280 IF c^f$(n,sl TO &2) THEN 60 SUB 340
290 PAUSE
300 PRINT
310 NEXT n
320 PRINT 'SEARCH conpleted"
330 as 10: INPUT 10; 'Key BfTER for nenu or 6 to repeat
'; y*s IF y1='6' THEN CLS 10: 60 TO 110
33S 60 TO 490
Invitation to participate
ARTICLES and PROGRAMS SUBMISSION
UPDATE ENCOURAGES writers to submit
articles, utilities and programs for
publication. The FORMAT is very relaxed.
Just pay attention to the width of the pages
and allow about 3/4 inch top and bottom and
make the left and right margins wide enough
to accommodate a 3 hole punch that does not
cut out some of the text. We have enlarge
and reduction capability to adjust print to
fit a page. Most important is legibility.
Draft quality dot matrix does not reproduce
well. FVint size preference is ELITE 12
characters per inch. Pica 10 characters per
inch is a< also, but please NO condensed
print. If an article has illustrations,
tables, schematics, pictures, figures, thats
alright. Just let us know how to organize
them.
Some of the print in the articles of this
issue is smaller than desired because the
pages were reduced to provide margins, and
some of the articles have quite a bit of
wasted page space due to excessive margins.
But if written text can be salvaged we will
do that instead of re-typing it. Solid type
that is clear but faded can be enhanced at
UPDATE, but draft quality dot matrix cannot,
espically that produced by the TS-2040.
That is all the guidance to be given. Dont
want to make it too tough to participate and
scare you away. The users NEED the SHARING
OF KNOWLEDGE.
TS-2068 PROGRAMS and UriLITIES
PROGRAMS to publish for the TS-2068 may
be LLISTED in 32 chr lines, but that is not
necessary. Each program should be supplied
on 40 or 80 track disk or cassette, Oliger,
Larken, or Aerco FD-68 formats are fine.
SPECTRUM programs should be capable of
running in the TS-2068 that is equipped with
the Spectrum ROM Switch. We ESPECIALLY need
programs and utilities designed for use with
DISK DRIVES.
SINCLAIR QL PROGRAMS and UTILITIES
QL Programs and utilities should be
supplied on either 80 track floppy or micro
drive. All programs must be usable with the
UNEXPANDED QL. If programs are supplied on
disk, a version should be recorded that will
COPY TO MICRCDRIVE and operate from micro
drive. Your letter should contain enough
instructions about the disk or micro drive
so that the editor can load and operate.
UPDAIE welcomes QL programs which have
expansion capabilities to use with the QL
that has RAM expansion, but such programs
should also have a micro drive version which
works with the un-expanded QL.
Exceptions to the above are utilities
designed to be specifically for disk drive,
micro drive. Trump or Sandy, or supporting
utilities for other devices.
Ful 1 Fledged Software for the QL tends- to
be too long for key in projects and these
programs should be accompanied with an
article designed as a "mini manual". QL
Utilities and short softwares can be LISTED
in the magazine as key in projects and the
users will get much programming knowledge
from an explanation of HOW the program
works.
The QL and the TS-2068
GENERAL INTEREST ARTICLES
REVIEWS of new software and equipment are
welcomed. UPDATE will provide enough space
for canprehensive reviews.
PROGRAMMING: Ihis is what the users ask
for most and is the most flexible. The
users need programming informtion ranging
from "one liner tips" to simple basic
programming, to advanced programming.
TS-2068 users are also eager for programming
information about disk drive use. QL users
are asking for Super Basic programming
information, ranging from beginner level to
such topics as networking between two QL's,
telecommunications with modems, piping data
between two computers, and conversions of
MS-DOS programs for use with the QL. So,
let the limits of your writing be the limits
of your knowledge.
48
UPDATE MAGAZI^E
CXTQBER 1988
OCTOBER 1988
UPDATE MAGAZINE
TS-2068 EXIKA MEMORY RECAP
Back in January 88, UPDATE began a series
about EXTRA MEMORY. The first objective was
to explore the ways and means of using
EXISTING Extra Memory Hardware. Briefly
these hardware devices are: Hie Oliger
EPROM cartridges for Dock Bank use: Ihe 32K
non volatile memory cartridge for use in the
Dock and XROM banks: The Aerco FD-68 Disk
Controller which contains un-assigned extra
Ram 64K blocks. Recently one more addition
is the LARKEN Ram Disk cartridge.
Ihe existing TS-2068 allows us to use
programming to enable the Dock and XROM
banks of memory when RAM or EPROM is
installed in these two banks. Ihere is no
automatic way of using extra memory in the
TS-2068, unless such auto usage is provided
for by PROGRAMMING. So, the January UPDATE
delved into the programming needed to use
these existing devices, which generally had
not been covered in sufficient detail for
the devices to be widely accepted and used.
This involved "collecting" pieces of data
about programming from several sources and
putting together a group of utilities to
allow the user to move BASIC programs or
utilities into the Dock or XROM banks and
operate the programs. The UPDATE series on
EXTRA Memory continued in tutorial form to
include Operating programs in both HOME and
DOCK banks and switching from one to the
other at will. Then the Disk Drive was
brought into the picture and utilities
developed for Auto Booting programs into
Ffome RAM. followed by AUTO MOVING the
program into Dock bank, and then Auto
Booting another basic program into Home
Bank — to operate two programs at will.
This effectively magnifies the SIZE of
programs that the TS-2068 is capable of
handling and frees up the FREE MEMORY (ram)
for an extraordinary increase in DATA
handling capability (within RAM).
The above represents the TOTAL capability
of the TS-2068, as it was manufactured, to
utilize MEMORY. We cannot go beyond using
the Dock and XROM banks without re-designing
the TIMEX ROM. AND, it isn't easy for a
user to get that far, because the user must
learn programming to do it himself. The
tutorials and utilities given in UPDATE were
designed to allow a person who is interested
in programming to learn how to do it, and
for programmers to use to develop software
to operate from Extra Memory.
UPDATE realizes that many users wont
delve into the detailed study needed to
become profficient in using Extra Memory,
and that this series is of little interest
to them. But there are some who are eager
to extend their programming abilities. Then
there is a small group of real hackers who
want to go the limit and build onto the
TS-2068. So, just as UPDATE plays to the
novice programmers and to those who are
interested in only using software, not
constructing it, we also want to fill the
needs of the intrepreneur and the expert.
ENTER CHARLES BOIHNER, to extend the
series on Extra Memory "to the limit". This
issue brings another detailed article by
Charles. In addition to his extensive
project to extend Memory Addressing, (diaries
has given other building schematics. One is
a Auxiliary Power Supply to power external
add on devices, which most of us need to
prevent TS-2068 overload. I have already
burned out one TS-2068 due to overloaded it
with add ons. Hopefully one of our hardware
builders will pick up on this need and offer
a power supply that plugs on to the external
Buss of the 68 and power everything else
that is tagged on. WE NEED THAT!
In this issue, Charles casually verifies
the previous UPDATE information about Dock
and XR(DM bank transfers, and with a snort of
impatience, he proceeds to the sublime,
leaving most of us in a fog of
miscomprehension. But not really. If you
really dig in and cross reference the Timex
Tech manual, things come into focus. A good
many are digging this and are asking for
more. We have some real technocrats using
the T5-2068!
Actually, if you will notice, Charles
does not apply TITLES to his works, just
branch headers. If I had to coin a title, I
would use: "EN(3INEERING A Z80 BASED
COMPUTER". Then I might add: ("Using the
TS-2068 as a Starter") . His works go beyond
the UPDATE series title of Extra Memory
while he stretches the Z-80 CPU to it's
limit. There's a guy in England who did
something similiar, and his product is
called "The Sinclair Z88". I don't know
where Charles Bothner is taking us, but
UPDATE will continue with his works until
the end. If someone really wants to learn
the practical aspects of computer
engineering, address coding, assembly
language, and the Z-80 CPU, this is a GREAT
tutorial on all of that.
UPDATE MAGAZINE
.49
OCTCBER 1988
OCrCBER 1988
EXTRA MEMORY
UPDATE MAGAZINE
EXTRA MEMORY
By: Charles Bothner
SEPT. 2, 1988
Bill Jones
TS-2068 UP-DATE
1317 Stratford Avenue
Panama City, FL 32404
Dear Bill,
First of all, I v/ould like to comment on your proposed use
of both the HOME and DOCK banks for programs simultaneously.
The switching between these banks by manipulating bit 7 of
the ARSFLG variable ©23750 should work as you described. The
only known problems in the use of the DOCK bank are those
described in paragraphs 6.2 and 6.3.1 of the Timex technical
manual and these deal with cartridges which only use machine
code. (They are easily corrected by changing the byte @0930H
in the EXROM from 40fl to 5.5EI and the two bytes ®38A0H and
38A4H in the home ROM to 60H and 40H respectively. ) I have
not analyzed the DOCK bank access routines in detail up to
this time because I have not had any problems using the DOCK
bank for any of its normal stand-alone functions.
You mentioned power problems with the 2068 and I fiigree com-
pletely that extra loading on the internal power supply
should be kept at a minimum. I even went so far as to relo-
cate my LKDOS controller board from the cartridge slot to
one of the bus expansion boards at the rear of the computer
so that it would be on the external power system. The only
extra loading on the internal supply is the 2 chips which
were added for proper EXROM address decoding and DOCK/EXROM
disabling when an expansion bank is active as described in
my last article.
My present bus expansion port plug-ins are lined up as
follows :
1. RGB monitor interface and phoneme speech
synthesizer. (The external power supply is
now connected to this board. )
2. EXROM bank expansion for chunks 1^7.
3. LKDOS controller board.
4. Expansion bank controller board.
5. Port I/O buffer board with real time clock
6. LOOS disk port board
7. 16 channel A/D board.
8. Text-to-speech board.
9. Digitalker speech synthesizer board.
10. RS-232 interface board.
11. TS 2050 Modem interface.
12. AERCO printer interface.
(You can see that I have been experimenting with several
different approaches to speech synthesis for computers. )
Now let me bring you up to date on my progress in developing
the expansion bank hardware and software, I have completed
UPDATE MAGAZINE
50
OCTCBER 1988
CXnXDBER 1988
EXTRA MEMORY
UPDATE MAGAZIISE
EXTRA MEMORY
By: Charles Bothner
the debugging of the KXROM initialisation rou bines. The
original Titnex protocol was followed in all respects except
for the deletion of the routines which reassigned expansion
bank numbers according to their interrupt priorities. This
v/as done for several reasons. First, the interrupt service
routine address field which is stored in the SYSCON table
for each expansion bank is never accessed by any of the ex-
isting Timex ROM code. Seoondi there is no way of currently
making use of interrupts from the expansion banks without
changing the interrupt mode of the Z-80 processor and if a
different interrupt mode were used and the HOME bank then
made active, the system would crash. Third, it is unlikely
that there would ever be so many expansion banks on line
that polling would present an excessive time delay within
system routines.
Before I go any further on the system debugging I will refer
any interested readers to the excellent 5 part series of ar-
ticles by V^es Brzozowski entitled "The Mystery of the Miss-
ing 253" which appeared in Time Designs Magazine starting
with the July/August, 1986 issue. These articles provide a
good background description of the ROM routines. These ar-
ticles actually got me started on the debugging of the sys-
tem ROM's,
I completed the debugging of the initialization routines
dealing with the ROM (or PROM) based expansion banks over a
month ago but the RAM based banks v/ere more of a problem.
The RAM based expansion bank initialization routine consists
of testing each chunk in the bank for the presence of RAM by
means of first writing a test byte, then reading it back and
comparing the read back data with the original byte to see
if RAM is actually present in that chunk. This test is
repeated using two different bytes to verify that there ac-
tually is RAM in the chunk and not an accidental match with
random garbage read back from an unused address.
The original test routine in the EXROM blithely continued
chunk by chunk until chunk 3 was enabled in the expansion
bank without bothering to move the O.S.RAM routines from
chunk 3 in the home barik to chunk 7 so the system crashed at
this point. I added the necessary code to move the O.S.RAM
routines to chunk 7 prior to testing chunk 3 in the RAM
banks, but the systeim still crashed. The problem this time
was that the routine in the EXROM which moves the O.S.RAM
code makes use of data stored in the system variables area
which have not been initialized at this point in the overall
system initialization sequence. The addition of some code to
temporarily initialize these variables solved that problem
but we were not out of the woods yet. The system now ini-
tialized properly and the SYSCON table was loaded with the
correct type of data but the chunk map stored in SYSCON 02
for RAM banks did not show the proper status of chunks 2 and
3 for these banks. Subsequent testing of the write and read-
UPDATE MAGAZI^E
51
OCTOBER 1988
OCTCBER 1988
EXTRA MEMORY
UPDATE MAGAZINE
EXTRA MEMORY
By: Charles Bothner
back o£ memory in these RAM bank chunks indicated that the
data was being written in correctly but was read back cor-
rectly approximately 10% of the time. Apparently the SCLD
chip in the computer v/as somehow insisting that the home
bank should retain control of chunks 2 and 3 since both of
these are used for screen display storage. (Chunk 3 is only
used for extended display modes. ) Attempts to override this
control by means of DI software instructions and also by
setting bit 6 in port FF proved fruitless. Since the inter-
nal architecture of the SCLD chip is unknown, I decided to
try the same type of hardware override approach that Timex
used when they added the U21 circuit to tristate tv/o of the
address and data buffer chips (U5 and 09) when writing to
the DOCK bank. The added circuit is shown on one of the
enclosed .schematics. After adding this circuit which tris-
tates the buffer chips whenever chunks 2 or 3 of either the
EXROM bank or expansion banks are active, the SYSCON table
was correctly loaded during the initialization sequence. A
copy of the SYSCON table data is enclosed along with a brief
description of the function of the entries in the table. The
SYSCON 03 through 17 entries for the RAM banks is whatever
garbage v/as in the chunk 0 RAM at power up. It is unused
data for these banks.
I am also enclosing a schematic of a LKD display add-on for
the expansion bank boards which I found to be very useful to
show which chunk in each bank is currently active.
As promised in my last letter to you, I am enclosing an an-
notated copy of the modified O.S.RAM routines. Most of the
routines have either been corrected or entirely rewritten.
The only routine which is not annotated is the DISPATCH
routine which serves no useful purpose at the present time.
This routine will be the only one which will be entirely
deleted if I can come up with some useful routines which
will help make use of the expansion banks transparent to the
programmer working only in BASIC. This will be one of my
next projects nov/ that the debugging of the original Timex
code and associated hardware seems to be complete. I want to
apologize for the handwritten annotation for this table but
much of this was done during extensive business travelling
over the past few months. Also enclosed is on updated FIX
table for the O.S.RAM code which is used by the code which
moves the RAM routines back and forth between chunks 3 and 7
in the home RAM.
During my analysis of the O.S.RAM routines, I originally
thought that there was an error in the CALL BANK routine.
This routine is used extensively by the tape I/O routines in
the original Timex ROM's, but never with any parameters
passed on the stack, either in or out. Detailed analysis of
the CALL BANK routine indicated that it is correct as
originally written, and the called routine is responsible
for cleaning up the stack by deleting the passed parameters
UPDATE MAGAZINE
52
OCTOBER 1988
OCTOBER 1988
EXTRA MEMORY
UPDATE MAGAZINE
EXTRA MEMORY
By: Charles Bothner
after the data has been used by the called routine.
Prior to calling a routine in an expansion bank with
parameters passed to the routine, the following items have
been stored on the stack in the order indicated:
1. Bytes containing the status of expansion banks.
(One byte per bank containing the active chunk
map. )
2. Two bytes containing the status of ports F4 and
B'F.
3. The addresK inside the CALL BANK routine which
will be returned to at the completion of the
execution of the code in the expansion bank.
4. The chunk mask and bank number of the called bank.
5. The number of parameters (bytes) to be outpub bo
the called routine.
The stack poinber is left pointing to item 3 when the expan-
sion bank is Jumped to. I am using the following routine in
the expansion bank to recover the stack space utilised by
the passed parameters while preserving all Z-80 registers:
Disable interrupts.
Save return addr. in IX.
Save HL( overwrite return
address )
Save BC( overwrite chunk
mask and bank number)
Make HL=SP
Point to high byte of Hi
of output parameters.
Get high byte of » of
output parameters.
Point to low byte of
of output parameters.
Get low byte into C
Assign new SP value.
Save original DE value.
Offset from SP to start
of parameter list.
Point HL to parameters.
Destination address in
bank RAM for storage of
parameters .
Move the parameters from
the stack to the RAM in
the expansion bank.
Restore DE data.
Get of parameters back.
Save DE again.
Save AF.
Point DE to top address
in stack where parameters
F3
DI
DDEl
POP IX
OrTCTl LIT
C5
PUSH BC
210000
LD HL,0
39
ADD HL,SP
2B
DEC HL
46
LD B, (HL)
2B
DEC HL
4E
LD C, (HL)
F9
LD SP.HL
D5
PUSH DE
110600
LD DE,6
19
ADD HL,DE
llOOCO
LD DE,C000
EDBO
LDIR
Dl
POP DE
01
POP BC
D5
PUSH DE
F5
PUSH AF
2B
DEC HL
E5
PUSH HL
I,
UH)ATE MAGAZIKE
OCTCBER 1988
OCTCBER 1988
EXTRA MEMORY
UPDATE MAGAZINE
EXTRA MEMORY
By: Charles Bothner
Dl
A7
ED42
POP DE
AND A
SBC HL,BC
010800 LD BC, 8
EDB8 LDDR
D5
El
23
F9
Fl
Dl
CI
El
DDES
PUSH DE
POP HL
INC HL
LD SP,HL
POP AF
POP DE
POP BC
POP HL
PUSH IX
CDxxxx CALL xxxx
FB
C9
EI
RET
were stored.
Clear carry, if set.
Offset HL by number of
parameter 1 ooat i ons .
8 bytes on stack to be
moved .
Move the stored register
data to recover the stack
space previously occupied
by the parameters.
Point SP to start of the
stored register locations
Restore original register
values.
Put the return address on
the stack.
Call the routine in the
expansion bank which
makes use of the passed
parameters .
Enable the interrupts.
Return to the CALL BANK
routine.
I have also developed a routine for loading parameters onto
the stack within a called expansion bank routine when the
calling routine requires parameters to be input rather than
output to the called routine but I will save that for next
time.
A brief explanation of the exparision bank hardware operation
may be m order. The following refers to the schematics
which were published in your last edition. UIO, Ull, and U18
on the expansion bank controller board are used to buffer
the address and data lines which are not already buffered
inside the 2068, U19 provides bidirectional buffering of the
aata to and from the expansion banks. U21, U3, U4, and U7
provide the full port address decoding for either reads of
or writes to ports FC and FD. The port FD read function is
not utilised at the present time. U17 latches the 3 high or~
S^iii-^n MDT^? '^^^^ transmitted from the computer when a
port FD WRITE command is executed. The latched data is then
decoded by U13 into a one-of-eight outputs for selection of
tfte appropriate expansion bank port commands.
lu ^''t^l^Tf!^^ ^""^^^ "^^^ POJ^* FC will utilize
the latched U13 output to determine the function being
executed For example, a read from expansion bank port 40H
llll TK u "y^ble of the currently selected banks chunk
mask. The bank was selected by sending the bank number to U2
via a write to port 80H. Ul decodes the output of U2 to
5 4
UPDATE MAGAZINE OCTCBER 1988
OCTOBER 1988
EXTRA MEMORY
EXTRA MEMORY
UPDATE M^SAZI^E
By: Charles Bothner
Gelect. one of the 15 possible banks. tJ15 is used to deselect
all chunks in all expansion banks either during a power up
reset or by writing a 0 to port COM. 014 is used as a con-
trolled deselect of chunks common to all expansion banks
v/hen a specific chunk is to be reassigned to a new bank.
(This is done by the BANK ENABLE routine in the home bank
RAM. ) The rest of the logic on the controller board is
straightforv/ard combinatorial logic to select the required
control functions .
Proceeding to the schematic for the individual expansion
bank boards, v/e see that U6 is used for selection of the ap-
propriate chunk selection when memory read/write is active.
The memory chips on the board will only be enabled if the
specific chunk was previously assigned to the bank. This is
determined by the state of the rJ3, U4, U9, and UIO
registers. They are clocked by a write to expansion bank
port 40H of the required chunk mask which is presented to
the D input pins of the registers. The clear pins are
directly driven by the chunk deselect outputs of rjl4 on the
controller board. Ul is used to determine the status of the
bfiuik. Bit 2 is read back as a low to verify that a bank is
really present when testing for banks during the system
initialisation. Bit 3 is used (via U8) to determine whether
any chunks in the system chunk mask are currently assigned
to this bank. A low indicates that one or more chunks are
active In this bank and a high read back indicates that no
chunks are currently assigned to the bank. U12 is used to
pull the BUSISO line low whenever a chunk in the bank is ac-
tually being read or written to.
This is a quick summary of overall circuit operation. I'm
sure there will be questions from your readers so we will
try to ansv/er them in future articles. Now that the basic
system hardv/are and software are in place, the big job
remaining is to develop useful software for the ROM expan-
sion banks and available space in the home bank to make use
of the expanded memory. Some of your readers that are
familiar with the home ROM code may be able to help out on
this proect.
One last item for this time. I am enclosing a disk contain-
ing the clock setting and reading routines for the circuit
which was shown in the last article. You can list them out
on whatever printer you prefer. Next time we will start out
with a listing of the debugged home ROM code.
Hote: For those readers vho bive i need.
UPDUTE Kill supply the tm Missing iteas: s incerely,
1. Copy of disk eentioned. differ or Urken ^ ^ ^ . .
formt- $5.00 for postage and bdDdliRff. ^ *
2. 26 page code listing starting at SYSCOK
5EEi hex through 683F hex. - $8. 00. (ed. )
Charles G. (Chuck) Bothner
UPDATE MAGAZINE
55
OCTOBER 1988
OCTOBER 1988
UPDATE MAGAZINE
Ihe CABLE OOLUMN
This feature column, by Bill Cable, starts with this issue. Hiere are several
excellent programs in this one episode. All of these programs will be consolodated
on one ISSUE DISK and ISSUE MDV CART. There is just barely enough space on one mdv
cart to contain them all. This probably sets the record as the largest offering of
QL software in one disk or cartridge EVER, at anything near the price.. Bill
describes each in the following articles. The first article explains a lot that most
of us do not know about ARCHIVE, why we should use it, and how to use it. Ihen he
gives us a tutorial on using ARCHIVE. The articles following are SOFTWARE programs
that are for ANY QL computer, with or without expansion devices.
The second article brirKrs the software "REFIELD" and is a mini manual on what
REFIELD does and how to use it.
The thirxi article brings another software "HELPEH" which is a set of TOOLKIT
functions for any QL computer.
The fourth article brings another software "SCAN" which also gives the actual
listing of the program, extensively documented with REMarks for those who would like
to key in the program or learn its programming.
The fifth article is about a Math program for the kids which will be included in
the "Cable Disk and MDV Cart".
Bill Cable : RJR 2 Box 92 : Cornish, BE 03745 : 603 675 2216
VII Y USE ARCHIVE ?
Bill Cable
This is an open letter to all QL users to urge you to use ARCHIVE,
There are many new US QL users out there plus a lot of older ones who
have virtually ignored the ARCHIVE database program supplied with the
QL. Maybe you took a cursory look at it and decided because it doesn't
have any immediate flashy screens and it has a large set of commands
that have to be learned that it wasn't worth the effort. Although it is
not real flashy at first, it can be made flashy, but that is not the
point. It is a workhorse. It can manipulate and organize whatever
information you put into a database with amazing speed and ease of
effort. Unfortunately, even if you know the language you can't do much
until you enter enough information to manipulate. So it does take an
effort. But you can also purchase ready made archive programs. These
programs are run within the ARCHIVE environment and provide specific
services to the user. You may still have to enter the data but the
programs make it as easy as possible. There are several address
databases available and perhaps other software as well.
I would also like to urge more programmers to use this language for
program development. It works very well for complex business systems
and many other applications where QL users would be willing to pay for
software.
Below I will give 12 reasons to use ARCHIVE. I hope this will convince
some of you nonusers to explore it a little and see what a wonderful
piece of software you got for nothing. Next, I will point out a few
shortcomings of ARCHIVE. After all, I don't claim it to be perfect.
And last, I will give a mini ARCHIVE lesson for beginners which will
Include a single line of ARCHIVE commands which will calculate and
5fa
UPDATE MAGAZI^E 0CTC8ER 1988
UPDATE MAGAZIbE
print on the screen how many countries of the world have a papulation
density less than the US and what their sum total population is, using
the Gazet database provided on your database cartridge. Beat that,
HyperCard! Maybe that will whet your appetite for extracting trivial
Information from Gazet.
12 Good JReasons To Use ARCHIVE
1. The pr.ice is right. That lonely cartridge is setting there covered
with dust. All you need to do is open your manual, press <F1> and
you are on your way. The supplied database, Gazet, gives you some-
thing to play with. At the end of this letter you will find a mini
ARCHIVE lessons for total beginers.
2. There is a great need for information handling. All of us could
use more help in storing and organizing information in our lives.
This is what a computer does best. ARCHIVE provides a very good
environment to handle information. You can do it yourself or buy
ready made programs.
3. Learning to use a database is important for all serious computer
users. The concepts used in ARCHIVE are the same used in other
databases. Learning ARCHIVE makes learning others easier.
4. It is universal among all QL users and is not protected. There
are a few new database systems beside ARCHIVE for the QL and it
nice to have a choice but it will be some time before a large number
of us owns a copy.
5. There is an IBM compatible version of the PSION progrrams (SlOO).
So any work done on the QL can be transferred to the IBM compatible
environment.
6. The ARCHIVE operating system and language is very well designed.
I have systems of procedures with over 70k of source code. I find
ARCHIVE'S behavior completely reliable and predictable. No lockups
or program crashes. Whenever I think I have found a system bug and
track it down it turns out to be my bug. In my opinion it is a at
least a couple of notches better than the other PSION programs.
7. The language is excellent. It is like a structured SUPERBASIC with
no line numbers. Some commands differ but it is procedure oriented.
The built in editor is good. If it had a search/replace no other
editor would ever be needed. Its automatic Indenting makes program
legibility very good. I hardly ever list out a program in hardcopy.
I can do all my design and debugging on screen. Error messages are
very good. Leaving out an 'endif* etc. cause a structure fault mess-
age that is a heaven send. Errors messages pin point the offending
procedures by name. Errors can also be totally supressed to make
friendly crash proof programs for others.
8. Archive is the best place to keep the source of any information des-
tined to ABACUS, EASEL, or QUILL. Because it has a language, you can
restructure the information in any way desired for the other PSION
programs. You can print fancy reports to files for import to QUILL.
You can send information and numbers to ABACUS for easier manipula-
tion, you can send summary information to EASEL for graphs. You have
total power over your information if you know how to use ARCHIVE or
purchased a program from someone who does.
57
UPDATE MAGAZItE
OCTCBER 1988
9. Archive has excellent number crunching power. Much better than
SUPERBASIC.
10. Compared to some other databases, its handling of fields, sorting,
and ordering is nice and straight forward although maybe not as
flexible. It can order a 2000 record file in 2 minutes. Not super
fast but very good for most applications. It can handle many files
at once.
11. It can be made to do a lot even on an unexpanded machine. Programs
can be broken into parts and loaded and run automatically as each
part is needed. This allows more free data area and running program
too big for memory. You can also write programs that write programs
and merge and run them without restarting anything. A program I
wrote to easily change the fields of a database (REFIELD), takes
advantage of both these properties.
12. It has a separate screen editor which makes complex screen design
and construction relatively easy and different screens can be loaded
at any time.
Some llmltatlans of AKCHIVB
1. The worst problem Is the possiblility of corrupting a database file
by 'opening* it for insertions, alteration, deletions and not clos-
ing it before turning the computer off, losing power, or QL crash.
The fact that this happens mandates keeping multiple backup copies.
Any time changes are made to the database back it up. Backing up is
important for any computer user anyway but beginners are often slow
to learn this until they really get burned. Using microdrives calls
for even more caution. If your QL unpredictably locks up, get it
fixed or be very careful. This may appear to make ARCHIVE too
dangerous to use but in practice, if you back up you will lose
little if anything ever. When 'looking' there is no danger. There
are programs to recover ARCHIVE files but they are not easy to use
and nothing can be guaranteed. Preventive action is safest and best.
I like to use 2 or 3 backups which I keep alternating between. I put
the day of the year in pencil on the backup. That way I can find
my latest easily.
2. No detailed documentation of Archive. I think the ARCHIVE section
of the QL manual i^ pretty good as far as it goes. There are a few
typo mistakes in the examples but it is worth using as a guide.
The sections defining each command and function and error message
should be studied carefully. There is ARCHIVE MASTER ($45) from RMG
enterprises. I haven't seen it. Also TAKING THE QUANTUM LEAP <S26)
from TIME DESIGNS" is a more general book about the QL,
3. Slow screen handling. You can design very nice screens and data
displays but you can't get around the screen as fast as you would
like. This may be part ARCHIVE and part QL.
4. No data arrays allowed. There are field related functions that use
field numbers as indexes which are very handy. You can make a dummy
database and use it like an array. Position can be one index and the
field number the other. If it is in RAM it will be fast.
5. On an unexpanded machine it is easy to run out of memory when doing
selections and orderings of large databases.
58
UPDATE MAGAZIbE
OCTCBER 1988
6. Not much software yet. This will improve. There is a good address
database from EMSOFT (MAILBAG), which will handle printing labels,
postcards, repeat letters. I have a utility to allow easy addition
of fields (EEFIELD) to any already created databases, I have a
tutoring database <DBTUTOR>to help learn any subject. I am work-
ing on a very comprehensive program for the small business to handle
all record keeping, invoicing, check writing. It has been under de-
velopment for over a year. I also offer an address database
(DBADDEES) . There are probably more US ARCHIVE based programs not
known to me .
Cancluslon
Ve are very lucky that PSION did such an excellent job developing this
program. It will allow your QL to do first rate work for you for many
years to come. You only need to learn a little about using It.
Kinl AKCUIVE Lesson For Deglnners
1. Turn on or reset your computer. Put cartridge labeled 'Database* in
the left microdrlve slot <mdvl__) . Press <F1> key.
2. ARCHIVE will load and you will see a little at the bottom of the
screen waiting for a command. All commands can be seen by pressing
<F3> and watching the upper center box. If you type a command and
<EllfTER> it will be executed. Press <F5> to cause the last command
line to be retyped (an easy way repeat a command or correct a
mistake >. Pressing the <ESC> key aborts a command.
3. You were given a database , Gazet , with Information about all the
countries of the world on your database cartridge. Let's play with It
for a little while,
look " mdvl gazet" <BlirTER> <access the database)
print count <)<B]n'ER> {total records)
display<BirrBR> {display a record with field names and values)
select contlnentS="S. AMERICA" <EirrBR> {select a sub group)
print count ()<EirTER> {how many included)
display <B]fTER> {display again)
order pop; a<E]irTBR> {order population In ascending order)
last<B]ITBR> {most populated)
back<B]JTER> {next most populated)
f lrst<Bin'ER> {least populated)
next<BinBR> {next least populated)
reset: print count <> {reset back to all countries)
{Try on your own ordering and selection)
reset : select pop/area< . 0229 : let p=0 : all : let p«p+pop: endall ; print count <);":"; p
{above is the promised command. US density = .0229, notice the result)
{play some more)
quit<EljrrBR> • {always quit when done)
You just learned the basics of using a database. ^ y a
59
UPDATE HAGAZI^E:
CXnXBER 1988
OCrCBER 1988
UPDATE MAGAZI^E
REFIBLD PRCX3RAM vl. lu
An ARCHIVE Program by Bill Cable
A. Vhat does it do?
Refield is a large program running under ARCHIVE that allows one of add,
restructure, delete fields from your ARCHIVE database. If you are familiar
with ARCHIVE programming you can do that on your own but it is tedious and
easy to make errors. There are also ways to do it by exporting to ABACUS
and re-importing. Refield attempts to make it fun and error free, even for
a beginner. It works on an unexpanded machine.
What is a field you ask? Veil it is a category to hold information for each
entry in your database. The Gazet database provided with your computer has
these fields for each country : countryS, continent*, capitals, currency*,
languages*, pop» area, gdp. For each country record we have this
information. Now if we also wanted to keep track of miles of roadway in
each country we would have a problem. With Refield it would be very easy to
add a field called 'roads'. What would happen is that it would make a new
database with the extra field and copy the records over. Suppose we named a
field badly in our database. With refield we could easily rename the field.
Suppose we were running out of room on our cartridge and there were a few
fields we could do without. With refield we could make a new database and
leave out those fields to gain a little more room. Or we could break the
database into two parts and keep them on separate cartridges. It takes the
tedium out of such problems and is fun to watch because it tells you what
it is doing as it chuges along.
B. Starting up
1. Set up files in RAM if you want fastest running
2. Start archive normally
3. Type: run " <) stepl" <ENTER> where {) = device holding refield
programs (mdvl_, mdv2_, f lpl_, f lp2_)
4. Follow directions
C. Brief Explanation On How To Use The Program
To start from archive : run '<> stepl ' <ENTER> {) = device programs are on.
It will work on an unexpanded QL but only works in 80 column mode.
The Source database is what you have and the Target database is what you want.
It transfers records from the Source to the newly defined Target.
The program is divided into stepljprg to step7_j)rg which are run in sequence.
It works by writing the procedures needed to make the Target database.
These are merged and run at the appropriate times.
Prompts are usually at the very bottom of the screen.
All responses require the <ENTER> key being pressed as part of the response.
Possible answers to prompts are often within C ] and separated by /.
Comments within 8 9 clarify prompts.
Comments within i > indicate action program is taking.
Often Just <ENTER> can replace the normal expected response.
Error messages appear at top right of screen.
You can usually restart the step if an error occurs.
This series of procedures works with an archive database. It allows for the
addition of new fields, removal of fields, reordering of fields, renaming of
fields, changing a numeric field to a string and viceversa. It uses your
original (Source) database as a template and creates a new (Target) database
with the changes you want. The Source records are then transfered to the Tar-
get database. You are given the opportunity to select and order the Source
records to be transfered so the Target database can have the structure you
want. One use of this program would be to make an exact copy of your database
because the new version would be cleaner as it would not have the holes and
UPDATE MAGAZINE 6 0 OCTCBER 1988
disorder of the original caused by record deletions and alterations.
I have attempted to trap most errors and give ample directions. You should
have some knowledge of archive fields and the select and order commands. If
you use raradisk you should set that up before starting archive. The procedures
have been broken up into a series of steps so they will work on an unexpanded
machine. If you don't have ramdisk or floppies then put your Source database
in mdvl_ after archive is loaded and have the refield programs in radv2_. Near
the end you will be notified that the programs are no longer needed so you
can remove them from mdv2_ and put the Target cartridge there so the transfer
can take place. The Source and Target files can be on the same device but must
have different names.
D. Ulnts about using this program
1. Pressing <ESC> a few times will stop the program and get command mode.
2. Typing help<ENTER> when in command mode will fix screen and give help.
3. When an error is detected you will be given a message in top right of the
screen with a prompt. Then you usualy are given the option of restarting
the step you are on or from stepl or going to command mode.
4. Some errors may not be detected and will put you at command mode with an
archive error message and a line of code from the program. You will have
to deal with that as best you can. Typing help<ENTER> will give help.
5. Some errors cause archive to lose track of what files are accessed. If you
really get stuck, quit archive and start it up again.
6. I have used the archive convention of field numbers <#) starting at 0. so
if a database has 8 fields, the field numbers will be 0 through 7.
7. I gave the field name 'tag' a special meaning. If you give the Target data-
base a new field called 'tag' it can be given a special value so that each
record in the Target database will be given a unique increasing integer in
the 'tag' field.
6. Apparently the basic rules of field names are : up to 13 characters, the .-.
first character must be k-Z, a-z then 0-9 and _ can also be used. If a
field ends in i then it is string, otherwise it is numeric. I may not catch
all illegal field names. Especially if you use an archive reserve word in
a field name. This could cause step5 to crash. Type help<ENTER> to restart.
9. Vhen you are defining the Target fields, giving it the same number of
fields as the Source and making then the same will create an exact copy
with a 'cleaner' structure.
10. If you have a new ubljob for an old field, you enter the new name where you
want It and give the Source field # when prompted.
11. Vith a completely new field you will be prompted in step 6, if you want it
to have a default value different than for string or 0 for numeric.
12. If you give a numeric Source field a string name in the Target database
it will autoraatlcally make the conversion when transferring.
13. While defining target fields, a little note <S#, where # is the Source
field #) is put by the Target field name when Target value = Source value.
14. Using ramdisk for programs, Source, and Target is pretty fast. Some mess-
ages appear and disappear instantly. Using all raicrodrives can take a very
long time for large databases.
15. If you want to multitask, yau can shut off the screen updating of progress.
B. PEOGRAM STRUCTURE
There are 7 files of programs chained together
stepl__prg : Asks for device programs are on ( mdvl_, radv2_, f lpl_, raml_ ,etc.).
It checks that temporary files can be written to that device
and provides these detailed instructions.
step2_jprg : Asks for Source database device and file name. It opens the
Source database for * look' .
61
UPDATE MAGAZItE
OCTCBER 1988
step3__prg : Creates an select/order procedure file on the target device
and writes your select/order coininands there.
step4_prg : Merges with the select/order procedures and carries them out.
Only activated if selecting or ordering are requested.
step5__prg ! Makes creater procedure file for Target database. Prompts for
Target fields. Can have partial or complete duplication of the
Source. You can type in a Target field name or get It from the
Source. Each new name can get its value from the Source. A temp-
porary database is created on the progran© device.
step6_prg J Makes transfer procedure file, prompts for special values for
new fields (normally string = and numeric - 0).
step7__prg ! Merges creater and transfer procedures. Gets Target device and
file name. Creates Target database and does the transfer.
F. HRSOR/imLP Message
Suggestions
Type ' help<EirTEE> ' to get this screen again when in command mode"
Make sure specified devices and files are correct
Make sure a necessary drive is not full
Make sure tabs aren' t removed from a necessary cartridge
Jot down error number and look it up on page 53 in archive manual
Last error # =
If you can fix the problem without closing files type start<ENTBR> or
Try starting from stepl again or that failing quit archive and restart
Specified refield programs device :
Specified Source database :
Specified Target database :
Restart this step ~ C y/n ] :
Restart with stepl - C y/n 3 :
Close all files before stoping - C y/n i :
C. Support software development
This software is not intended to be free. If you obtained it from UPDATE
Magazine or directly from me, Thank You. If you got it for free and find it
helpful, please support my effort in trying to make good applications
software for the QL. Send me S5.00.
Bill Gable
Wood and Wind Computing
RR 2 Box 92
Cornish, NH 03745 USA
603-675-2218
Specializing in Business Applications for the QL
l^^f^^""^"^ f^"""^ ^° ^® ^ ^^'^y reliable and flexible program with lots
^ea^irertfaSS!^''"""'"""- °^ '^"^ problems V^u^ef'Sl'""'
62
Bill Cable
UPDATE MAGAZItE
March, 1988
OCrCBER 1988
HELPER
A SUPERBASIC Program for the QL by Bill Cable
The helper program Is a set of useful toolkit-like functions
presented in a menu format. It would be very useful to anyone
without any of the toolkits available for the QL and works on
unexpauded machines.
The basic functions provided :
1. Directory of a device with file copy , delete , view options.
The directory is constantly displayed while the functions
are being carried out.
2. Formatting a device 1 to 10 times.
3. Copying the contents of one device to another (clone).
4. Set time and date,
5. Load and run a program from a specified device.
6. Set windows and exit to QDOS.
There is a fair bit of input checking to prevent errors happening
but not every one can be prevented. Trying to copy a nonexistent
file is an example of an error that will stop the program. I
decided not to use VHEN ERROR to trap errors because of the system
bug with that function and the objective to keep things simple. If
it does crash it won't hurt anything just note the cause of the
error and restart the program by typing : * run<ENTER> ' .
The code is straight SUPERBASIC. I indented the multiline IF
statements for easier reading. It would be easy to customize and
add your own special functions. The single line 'IF' statements
don't require an 'ENDIF' and I wasn't always consistent In
including one. I prefer using them for easier program reading.
To Run :
type : ' Irun Ohelper' where <}=device holding helper
' mdvl_, mdv2_, f lpl_, f lp2_
You are warned about errors and encouraged to use <CTRL><F5>
to freeze screens and <F5> to unfreeze. Note that these
always work on the QL.
You are next presented the HELPER Menu which should be self
expanatory. Experiment a little. The date and time need be
set only once after the QL is turned on even if it is reset.
Exit to SUPERBASIC to quit. I hope you find it helpful.
UPDATE MAGAZINE
fe3
OCTOBER 1988
AKITIIMETIC
An Arithmetic Drill Program for the QL By Bill Cable
This program is designed to aid children learning arithmetic. It
uses only whole numbers 0 through 9 for addition, subtraction,
multiplication, division. Numbers can get as large as 81 (9x9). It
picks the numbers randomly and presents the problem on the screen
waiting for the users answer. The faster the response the better
the rate (problems per minute). The challange would be to have a
high rate with good accuracy. The results can be printed out so a
printed record of progress can be kept. The elasped time is also
kept so one can determine when they have been working for a
certain period of time.
The program is pure SUPERBASIC. The Menu portion uses mode 4 while
the problems are flashed in mode 8 to get big characters. There
should be no way to crash the program except <CTRL><space bar>.
To Run :
Type : * Irun {> arithmetic* where <) ^device holding program
mdvl_, radv2_, f lpl_, f lp2_
You are first asked your name for display purposes and to use
on the print out (if any).
Next you are asked if you want a print out. It would be a
good way to record long term progress. The rate of doing
problems should slowly increase. You must keep the printer
online if you do.
If print out is wanted you are asked for an
identifying entry such as the date. This will
allow you to keep track of long term records.
Next you are presented a menu of choices ;
a - Addition
s - Subtraction
ra - Multiplication
d - Division
p - Progress (anytime)
q - Quit (anytime)
A single key press will activate your choice. If you choose
to do problems you will be given the problem and the cursor
will flash in the place for the answer. Vhen you give enough
digits for the answer it will be checked. If right you will
go on to another. If wrong you will be asked again. Pressing
the 'p* key at any time will show your progress. It is a good
way to take a break as it stops the clock. Whenever you see
your progress a print out will be made if you wanted print
outs. Pressing 'q' will get you the menu and pressing 'q'
again stops the program. Happy Arithmetic
UPDATE MAGAZI^E
64
CXTCBER 1988
An ARCHIVE program by Bill Cable
Scan is an ARCHIVE program that will work with any database. It
allows one to see up to three selected fields displayed on a line
for all currently active records. It is a fast way to scan through
the file looking for particular values or trends. If any of the
fields are numeric then they are displayed with a specified number
of decimal places and their sum is printed at the end. The sum may
or may not have meaning depending on what the field is. The sum
will appear anyway. The output can also be sent to the printer at
the same time. This could be handy for many purposes. You could
list names and phone numbers from an address database to keep by
your phone. The listing will be of the currently selected/ordered
structure of the file. Pressing the <space bar> will pause the
output and allow for continuation or abort.
This program is nice because it will work with anyone's database
and will not interfere with any already existing procedures or
variables as long as they are not named 'scan'. It makes use of
the ARCHIVE f ieldt < ) , f ieldn ( ) , f ieldv < ) functions so it can deal
with any database without having any previous information about
it. The only way to crash it if my code Is good, is to call it
without having an active 'look' or 'open' database file. I
documented the code heavily to show my logical process. In a way
it makes the listing hard to read. You may want to omit or delete
all the 'rem' statements to shorten it and see what real ARCHIVE
code looks like. To get the ARCHIVE editor, type ! ' edit<ENTER> •
and follow instructions in center box.
To Run :
Start ARCHIVE as usual
Access your database with ' look' or use the Gazet database
look "mdvl_gazet"
Load or merge scan as :
load "Oscan" where {}=device holding scan
mdvl_, mdv2, f lpl_, f lp2_
Select or order if you want
Type : ' scan<ENTER> ' to start scan
Direct output to printer if you want
The fields of your database will be displayed. Give the
numbers of up to 3 you want on the output line for each
record. If the field type is numeric you will be asked for
the number of decimal places to show.
The listing will begin. Press < space bar> to pause.
It will print any sums and pause. Stops When you press <EirTER>
UPDATE MAGAZI^E
65
CXTOBER 1988
OCTOBER 1988
UPDATE MAGAZINE
proc scan
rem SCAN
A procedure for listing all current records on the screen and
to the printer. It prints one line with up to 3 selected fields for
each record. It asks for decimal places for the numeric fields to be
displayed. It prints the sum of any numeric fields displayed at the
end of the listing. A <space bar> press will pause it and then it
can be continued or aborted. It will work with any database you have
accessed by 'look' or 'open*. All variables are local so it should
not interfer with your procedures or variables. All these 'rem'
statments can be removed to shorten It.
To Use
1. Start AKCHIVE as usual
2. Access your database by ' look'
3. Load or merge scan : 'load Oscan' or 'merge Oscan'
4. Select or order you records you want to see if necessary
5. Type s ' scan<ENTER> ' and follow prompts
6. It quits after reaching the end or you abort it
7. Call it any time by typing its name after it is loaded
Set up all variables as local so no interference with other procedures
All other symbols are commands or functions defined in archive section
Uses
fl,f2,f3 are field numbers or -1
dl,d2,d3 are decimal places or -1
fl$,f2S,f3S are used to hold values in form for display
sl,s2,s3 are used to hold sums of numeric fields
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
rem
local 1$, i, j,k,fl,dl,fl$»sl,f2,d2,f2S,s2,f3,d3,f3S,s3,print_out
rem
rem Initialize potential decimal places for three fields to -1
rem
let dl=-l: let d2=-l! let d3=-l
rem
rem
rem Set mode 0 for large screen, print heading, if no, file Is open an error
rem will occur at 'print count ()' since' there is no count
rem
mode 0: print "Scan up to 3 specified fields of count ();" selected records "
print at 2, 2; "The records will be scrollied by with selected fields on a line"
rem
rem Loop until answer is 'yes' or •no*
rem
let 1S="": while i$<>"y" and l$<>"n"
print at 4,0;rept<" ",80);
input at 4, 2; "Output to printer also C y/n 3 : "{1$
endwhile
rem
rem Set print_out 'true' if 'yes* or 'false' if 'no'
rem
if i$="y": let print_aut=l: else j let print_out=0{ endlf
rem
rem Print out all fields with field number In front of it. If more than 50
rem fields they are not printed
rem
els { print "Fields that can be scanned": print t let i=Os let J«2{ let k=0
UPDATE MAGAZI^E
OCTOBER 1988
while i<nujnfld<)
print at j , k; nuin<i , 2) ; " " + f ieldn <i > ; let l=i + l: let j=j+l
if J =12: let k=k+15: let J=2: endif
end while
^ ^rem
rem Prompt for first field of scan. If it is not a number or out of range
rem return otherwise set fl to the field number
rem
input at 15,0; "First field to include in scan [ #/<EirTER> if none 3 s ";i3i
let f l-lnt<val<l$)> : if fl=0 and iS<>".0": mode 1: return : endif
if fl<0 or f l>numf ld()-l: mode 1: return : endif
rem
rem Get decimal places desired In listing if field is numeric, set sum = 0
rem
if not fieldtCfl)
print " Decimal places for "+f ieldnCf 1)+" : "{! input 1$;: let dl=val(i$)
if dl<0: let dl=0: endif : if dl>10: let dl=10: endif ; let sl=0
endif
rem
rem Prompt for second field to scan. If not a number or not in range set
rem f2 = -1 otherwise f2 set to the field number
rem
input at 17,0;"Second field to include in scan f #/<ENTER> if none 3 : " { iS
let f2=int(val<i$>): if f2=0 and iS<>'»0": let f2=-l: endif
if f2<0 or f2>numf ldO-1: let f2=-l: endif
rem
rem Get decimal places desired in listing If field is used and numeric
rem set s2 = 0 , keeps track of sum of field 2
rem
if f2<>-l and not fieldt<f2)
print Decimal places for "+f ieldnCf 2>+" s " ; : input i$; : let d2=val(iS>
if d2<0: let d2=0: endif : if d2>10: let d2=10: endif : let s2=0
endif
rem
rem Prompt for third field to scan. If not a number of not in range set
rem f3 = -1 otherwise set f3 to field number
rem
input at 19,0; "Third field to include in scan C #/<ENTER> if none 3 : " ; iS
let f3=int (val (i$) ) : if f3=0 and i$<>"0": let f3=-l: endif
if f3<0 or f3>numf ld()-l: let f3=-l: endif
rem
rem Get decimal places desired in listing if field is used and numeric
rem set s3=0, keeps track of sum of field 3
rem
if f3<>-l and not fieldt(f3)
print " Decimal places for " Hf ieldn (f 3) +" : input IS;: let d3=valCi$)
if d3<0: let d3-0: endif : if d3>13: let dS^lS: endif
endif
rem
rem Print out heading and fields selected and message about halt
rem
els : print "Scan selected fields of count (>;" selected records"
print at 2, 2j "Press any key for temporary halt"
print at 3, 2; "The number in the left column is the record number"
print at 6,0;"Rec #" ; tab 11; f leldn<f 1) ;
if f2<>-l: print tab 31 ; f ieldnCf 2) ; : endif
67
UPDATE MflGAZItE OCTCBER 1988
if f3<>-l: print tab 54; f ieldn <f 3) j : endlf i print : print
rem
rem If print_out warn to put printer online. Print heading to printer
rem
if print_out
print at 4,2;"*** Make sure printer is online ; print at 8,0;
Iprint "Scan selected fields of "; count <>;" selected records": Iprint
Iprlnt "Rec #" ; tab 11 ; f ieldn <fl ) ;
if f2<>-l: Iprint tab 31 ; f ieldn <f 2) ; : endif
if f3<>-lj Iprint tab 54 ; f ieldn <f 3) ; i endlf : Iprint : Iprint
endif
rem
rem Set to beginning and begin printing line by line until end of file
rem
first : while not eofO
rem
rem Check for key press signaling pause request. Allow for restart if only
rem if <spacebar> pressed otherwise return
rem
rem
if inkeyOO""
print '. print "Press <space bar> to continue or any other key to stop s ";
if getkeyOO" " : mode 1: return ! endif : print
endif
rem
rem Store value of 3 fields to fl$,f2S,f3$ making decimal if numeric
rem
if fieldtCfl)
let f l$=f ieldvCf 1) : else : let f l$=decCf ieldvCf 1) , dl, 12) : endif
if f2<>-l
if d2=-l: let f2$«f ieldvCf 2) : else : let f 2S=dec <f leldv <f 2) , d2, 12) : endif
endif
if f3<>-l
if d3=-lJ let f3$=fieldv<f3) J else ; let f 3$=dec (f ieldvCfS) , d3, 20) s endlf
endif
rem
rem Keep sum of any numeric fields
rem
if dlO-lj let sl«sl+fieldv(fl) ! endif
if d2<>-l: let s2=s2+f ieldv <f 2) : endif
if d3<>-l! let s3=s3+f leldv(f3) ! endlf
rem
rem Start printing line. First record number then first field then 2nd and
rem 3rd if the are defined. Likewise print to printed if print_out true
rem
print recnumO; tab 8;flS;
if print_out! Iprint recnumO ; tab 8;flS;: endlf
if f2<>-l
print tab 28jf2$;s if print_outj Iprint tab 28;f2S;: endif
endif
if fSO-l
print tab 48;f3S;: if print_out: Iprint tab 48;f3S;: endif
b8
UPDATE MAGAZINE
OCTCBER 1988
endlf
rem
rem Finish print line
rem
print : if print_out: Iprint : endif
rem
rem Advance to next record
rem
next
endwhile
rem
rem Listing done. Print out sums if any
rem
print : print "<"; count <);">" ;
if print_out: Iprint ; Iprint "<"; count <);••>♦•{ ; endif
if dlO-1
print tab 8; dec <sl , dl , 12) ;
if prlnt_aut: Iprint tab 8; dec <sl , dl , 12) ; : endif
endif
if d2<>-l
print tab 28; dec <s2, d2, 12) ;
if print_out: Iprint tab 28; dec (s2, d2, 12) ; : endif
endif
if d3<>-l
print tab 48; dec (s3, d3, 20) ;
if print_out: Iprint tab 48; dec <s3, dS, 20) ; j endif
endif
rem
rem Wait for acknowledgement, set mode to 1 and return
rem
print : if print_out: Iprint : Iprint .• endlf
print : input "Scanning Done. Press <ENTER>" ; iS; : mode 1
endproc
Editor's comments: I learned more about ARCHIVE by reading these
articles and a few hours working the programs than I could have in six
months of study and experimenting without them. We can keep excellent
programmers such a Bill Cable working for us ONLY IF we respect their
propriety rights to their works and PAY THEM FOR WHAT WE GET.
Frankly, I see dozens of SHAREWARE (IBM) softwares being given about, in
this small city, and VERY FEW bother to send the author payment. The
tenancy is for one to think of his friend as the giver, and not the author
of the software. I sincerely hope that the Sinclair QL users will not
destroy their software su^jport by disregarding INIBGRETY.
All of Bill Cables works in this issue will be in the October 88 "CABLE"
ISSUE DISK and MICRO DRIVE ISSUE. You may Order the disk or send a mdv
cart in for dubbing. Send orders or mdv cart to UPDATE, $20.00 postpaid,
and specify "CABLE DISK".
Also, you may send your thanks and comments directly to Bill Cable. If
you expect a reply, please inclose a SASE.
fa9
UPDATE MAGAZIl^; OCTOBER 1988
OCrOBER 1988
UPDATE MAGAZINE
UPDATE SUPPLY SUPPORT
UPDATE ITEMS FOR SALE: 'Ihese items are purchased in bulk and can be offered
at lower than most local prices. All prices include shipping. Order by
"UDHI=". Add 25% for Canadian orders.
UD-frl Desk top Disk Case, holds seventy 5.5" floppies, nice smoked plastic
with hinged top — $7.50 each
UI>-#2 Six outlet 115V Surge Suppressor- ON-OFF SW, 6' cord, 15 amp reset ckt
breaJ^er, ON-OFF led indicator — $19.95 each
UD-#3 Six outlet 115V Surge Suppressor as above, includes EMI/RFI/Noise/Surge
suppression — $27.95 each
UD-#4 White Labels (same as UPDATE Mailing label), 5000 labels on continuous
feed tractor form — $22.00
UD-#5 Diskettes 5.5" hi quality DS/DD 40 track, includes sleeves and tabs— -
$8.00 box of 10
UD-46 Diskettes 5.5" Dysan Premium D6/DD 80 track 96 tpi. Use for all
Sinclair QL and TS-2068 80 track drives — $20.75 box of 10.
UD-<fr7 Printer Ribbon Cartridge for Star Mi cronies 1000 series. Box of six
cartridges — $39 . 75 (Single cart — $8 . 00) .
UD-<»8 Un-Priced: UPDATE will order ribbon cartridges in units of six
cartridges and ship to you with a invoice. Price depends upon size of ,
cartridge and will be within plus or minus $5.00 of UD-#7 above.
UI>-#9 PAPER, 2500 sheets 20 lb white bond, tractor feed, laser perf for easy
tear off. standard letter size break down to 8.5X11"— $31.90 (Check locally,
you may be able to beat this)- US orders only.
THE FLEA MARKET
Subscribers may participate FREE to move surplus items. Limit is one 3 line
insertion per issue. Make the print Elite 12 characters per inch, line
lenght of 16 characters, including spaces. No fancy printing. Use the
following for examples of format. . „ ,
UPDATE SURPLUS items: For TS-2068: One Zebra OS-64 Cartridge — $16.00. One
Tasman CPI — $16.00.
One A&J Micro Drive for the TS-2068 plus about 15 cartridges. Has printer
interface and is in working condition — $40.00
One AMDISK III twin 3 inch Disk Drives in case with power supply and cable to
fit all TS-2068 disk controllers, includes manual and 19 diskettes. Works
great, just plug it in — $99.00. Know what your are buying! This W is
unsupported by software, but makes an ideal additional pair of drives. Data
cable has 2 extra connectors for hooking up to other drives.
ONE T5-2040 Printer (works A-OK)— $25.00. One Seikosha SP-1000 dot matrix
printer, worl^ now but print head lueginnirig to skip ecarie pins— $55.00.
UPDATE WAGAZI^E
70
CCrCBER 1988
OCTOBER 1988 UPDATE MAGAZINE
UPDAITS FLEA MARICEi', Continued
lB-1000 items for projects: 5 TS-1000 ckt boards all chips a<- 7 'iVo
Oliger Color VDP boarxls QC- ? Several EPROM Read Boards-- ? J^Ji^^^
chips, Z-80 CPU's and Z-80 periphreal chips- ? ."n^fse parts "^^^^^ 9^^^"/^
an/one who needs them for building interface projects for the l^-2U5e or Ui^.
ONETS-1500 like new— $35.00. ONE TS-1000 NEW— $30.00 (both have all
assessor ies) .
For the hacker: a cornuco(/pia of electronics parts, diodes, transistors,
IC's, relays, etc, on surplus circuit boards. Boards weigh about 2 pounds
and must have over a hundred salvagable parts— $7.00 per board (cost nearly
that to ship) .
UPDATE Magazine is a sister to GULF MICROELEX^BDNICS, which has a J^ost
unusual stock of hard to find IC chips, analog devices, regulators, CPU s,
interface chips, power transformers, vacuum tubes, etc. If you are looking
for something aixl cannot find it, its worth a CALL.
One 1954 EDSEL— try $49000.00 or trade for new Mercades
One Missouri Mule 49 years old, mean and uncooperative, unusual personality,
can hear him bray from four miles away. Come and get him for free. Might
pay you something.
One island across from New York City. Indian tribe repossessing and
reselling. Inquire for confidential deal.
Prospector's map to lost gold mine in Nevada — $100.00
Tickets to last year's Super Bowl 50 yd line, reduced price.
Persons wanting FLEA MARICET items should CALL first to reserve the item
needed.
SOFl^mE AND HARDWARE SUPRDRT fOR SINCLAIR COrPUTERS, (CooPliiDentary listings)
woor> A.jsi r> wiTsrr> oomiptj-t i isro
Bill Cable : KR 2 Box 92 : CornisH. BU 03745 : G03 675 2216
SPECIALIZING IN SERIOJS SOFTWARE FOR THE SINCLAIR (3L
i RRraWRPRTsES I QL aid TS-2068 SIPPORT. RHG ^&;^erpNses has a
I IMS 1/2 71H STREET . uREBai cm, UR 97WS I full line of support for both ^ot^ters. is Aiub
L_ -^.i/Ag^-TAM I support includes all disk drive systems, hardware and
Forou;t, Jpa,,c,uio, software CL su^rt includes nK>st periPhreals and
„^ i3,M~R«f«ndBd on isi ordtr many softwars items.
OUi^ai^, Jieoi Mdbey Drive, QMberland, IN ^16229.
imKIE MAGAZI6E
71
OCrCBER 1988
OCrOBER 1988 UPDATE MAGAZItC
flillenia K Disk and SPDOS Software Support: tUison Cockayne, 3^2 Trotter
Court, Sanford, FL 52763.
TS-206d Disk Drive System and Ram Disk Cartridge: Larken Electronics,
m-2, Navan, Chtario, Canada K^B 1H9,
TS-2068 Software to PLOT and Faint Color Screens to paper; Jotn
rJc/lichaeh 1710 Palmer Drive, Laramie, WY 82070.
TS-2068 Software, also AEROO FD-68 Software: Chi<hia Chao, 73 Sullivan
Drive, i^brago, C4 9^56-1209.
TS-ZOeS Software: Herb Bowers, 2588 Woodshire Circle, Chesapeake, VA
23523,
flillenia K Disk and SPDOS Software Support: Cuyohoga Valley Software,
615 School Ave., CUyotioga Falls, OH m22U
TS-2068 and QL Software: Paul Bingham, Box 2054, Mesa, AZ 8520^,
TS-2068 Software, Plus AERCO FCh68 software: Jack Dohany, 590
Rutherford Ave, , Redwood City, CA 9W61.
TS-2068 Software: LeniPke Software, 2m Miite Oak, Wichita, KS 67207.
TS-2068 Support, and Magazine on tape: Byte Power, 1748 ileadowview
Ave., Pickering, Ontario, Canada LI V 508.
T S - 2 0 8 8
PROGRAnS
Ol»mon4 Hlkt II and Crwl G»if9 « GraphtoM
Shovt Two |rt«l profraM for only flO.
tionty NMohint 11 1 Tht UIIImU Word Ga««
basfti on a popular TV |aa« ihov. til.
VortI TulBitrt Cuiloaizo your own vord-
fftaroh puxtlt. Vooabulldori Eaar-to-uia
ffduaallonal prograa. Bolh lor only UO.
Proiraia abovt aro avallablt on Up« or
A«reo FD-ee 6 1/4" doubl* d«nally dl»k.
Foilowinf program »r« for A«roo FO-68
only. AvalUbit on 5 1/4" disk or l»p«.
Disk FU* ftanagtri Copy Individual fllaa,
cv«n on flngla dri»« fyalw. D«lall«d
oslaloc, and nany oUi«r funotlona. tlS.
OmnlDiMkt Convtrt Oanioalo II lo disk.
Cualoalxt aany optioni* *9,
Prieaa Inoludo poataga. Plaaaa aand
22-oanl ataap for eonplota eatalof or
chaok/aonay erdar lot. Cliia-Ciil Chao
73 Sullivan Oriva, Horaga, CA 94666-1209
Pixel Print PLUS!
THE OeSKTOr rUBLISHEn
P PEBrOBlUaiC£l
g hiSWiSftAfi^-CiAO icon
▼ (P««t»l«n awrmor, Ci»4. LOAD I
41 KCtP/WllDO/'SAVB/I.S^SiCkSSR-.
irin* »»«e!lc**o In dovoloP.'
SI COPT/'iaiASC/IIWeRTy'DBLirrB/'IIBII
Tl ACRCO/^'ASilAII/'IkaJ CP!
«) IBH/EPSOII/'PnOMBiTCR FrlM«»i-»
th« f^a'.'jr** found. In v 3 • w »
«nd row PiKol Print fll«»ll
Tha PLUS »• »vnetlon«
ea aVk* this «*'*n n9r«
PIxil Prln^ PLUS (73.1)
11. PI I « " « jr.j-"® " "*
Hith rOHTg and ICOHw. . . »
aPDATE MAGAZI^E
72
CXn:CBER 1988
p
Computer Repair: TS-2068 and QL; Dan Elliott, RR-I Box 117, Cabool, 110
65689.
TS-2068 and QL: Curry Computer, PO BOX 5607, Glendale, AZ 85512-5607.
TS-2068 Software: m Data Systems, 4 Butterfly Dr. , Hauppauge, NY 1 1788
QL Computer Repair: Also QUANTA SOFTWARE LIBRARIAN, 9015 Flicker Place,
Columbia, /V 21045.
Th€ SINCLAIR Z88 Computer: Known dealers and suppliers are: Mike Fink,
555 y. 39th St., N.Y. City, 10018-1401. (212 695 1401), RUG Enterprises,
1419 1/2 7th St., Oregon City, OR 97045 (503 655 7484), SHARP'S INC., RR-10
Box 459, tiechanicsville, VA 23111 (804 746 1664).
See other ads and announcements in this issue. The above are Just part
of the supporters of QL, TS-2068, and 188 Computer systems. Others will be
announced as UPDATE receives more information that spec if ys support areas.
caricature a-F the UPDATE A/ews Roam, relaxation between issues.
Actually, the above photo is a courtesy re-print -from NATIONAL
GEOGRAPHIC MAGAZINE, but it closely resembles the neat e-F-Ficiency
a-F the UPDATE editorial ai=fice and your editor relaxing between
issues. Across in the other earners a-F the o-FFice are equally
neat TS-206B Lab, QL Lab, and A IBtl AT clone system. The center
oF the oFFice is taken up by a copy machine and a huge
nastebasket, neatly overFlowing with discarded ideas.
UPDATE MAGAZI^E
73
OCTCBER 1988
THE UPDATE SOFTWARE LIBRARY
Separate libraries for the Sinclair OL and TS-2068
Most of the diskettes and micro drive cartridges contain
the softwares and utilities described or listed in a
quarterly issue of UPDATE Magazine. Most will contain more
than one software plus all of the utilities given in the
quarterly issue. Some will also contain other programs not
given in the pages of UPDATE. Each disk or mdv cartridge is
"unconditionally guaranteed to please". The price of each
named disk or mdv is $20.00 (postpaid).
The Sinclair QL Software Library
Both Disk and Micro Drive are supported. All softwares
presented will run on the UNEXPANDED QL. But some may
contain extensions for utilizing extra memory and tool kit
functions . Disk format is DS/DD 80 track 96 tpi . Due to the
cost of mdv carts and availability, orders for a issue series
on mdv cartridge must be accompanied by a mdv cartridge.
UPDATE then records the programs and returns the cartridge.
UPDATE is Just getting started with the QL Library and only
two Issue Series are offered at this time. Individual Issue
Series are as follows:
OCTOBER 88 "Cable Issue"
The CABLE issue, on disk or mdv cart,
contains the FOUR softwares given by Bill
Cable in this current issue. Two of these
are softwares to enhance and extend the
capabilities of the PSION ARCHIVE software.
"REFIELD\ runs under ARCHIVE to allow you
to ADO, RESTRLCTURE, and DELETE fields of
the ARCHIVE DATA BASE.
"SCAN", an ARCHIVE program, lists three
selected fields on a line for each record,
and SUMS the nuneric content of the fields.
The output can be sent to the printer.
"HELPER", is a Superbasic program which
provides a new "TOOLKIT" set of functions.
These functions are; Directory with Copy,
DELETE a file or program, TOTAL COPY of a
MDV or Floppy, Multiple FORMATTING, Screen
Window Set-up, and Date-time setting.
"ARm-METIC DRILL", in Superbasic, is a
sifnple program to lielp learn progranmlng and
let the kids use to drill in math.
The above FOUR programs, and their annexes,
come on TWD mdv Carts or one Diskette. The
REFIELD program alone takes up a whole mdv
cart, and the other three take up all space
available in another mdv carfc. So, no room
for the other October issue programs and
utilities. This Is an outstanding value at
$20.00.
OCTOBER 88 "Hartung Issue"
The HARIUNG issue, on disk or mdv
cart, contains Bob Hartung 's "QL
Address File" prograjn, plus all of the
utilities of the October issue which
could be stuffed into a mdv cartridge.
"/Address File" is a sinple, quick and
easy program to use. Also, it can
serve as a Inventory data base. Its
printing ability makes loading up to
print labels a easy chore. Screen
listings and print out can be by
alphabetical or by last name.
Individual names may be searched out.
In his article. Bob gives full
instructions and even allows for
modification to use the ^0 column TV
display. This is a good program to
study for sinple basic progranining.
tmLITIES are added to fill up the
mdv cart. Sane of the utilities that
are given are not Included in the
UPDATE magazine pages. (Just had to
quit at 76 pages!). The Hartung Issue
comes on either one MDV cartridge or
one Diskette.- sane price $20.00.
UPDATE MAGAZI^E
74
OCrCBER 1988
UPDATE MAGAZI tE
THE TS-2028 Disk Software Library
TS-2068 Disk Drive Systems supported are, Oliger Safe,
Larken LKDOS, and Aerco FD-68. Disks are available for these
systems on 5.25 inch DS-DD 40 or 80 Track. Some individual
programs in disk will be for a specific DOS and will be
identified in the listings below. Most of the programs and
utilities are those published in UPDATE Magazine issues, but
some will be other programs not given in the issues, included
to add value. Price is $20.00 per disk (postpaid). Orders
for more than one disk may take 10* off total price.
Individual issue series are listed as follows:
OCTOBER 1988
The October 88 "SMART TEXT" ISSUE
For Larken LKDOS, Oliger DOS, Aerco FD-68
Your scribe decided to donate the Smart
Text software to the UPDATE Library.
Since the Smart Text manual is 70 pages in
length, and the program listing is a
quarter of a mile long, it isn't practical
to give the documentation in the magazine.
Smart Text is the most extensive software
ever offered for the TS-2068. It is a
Multiple Data Base, and a Disk Integrator,
that has a Word procossor. Also included
is MAIL MERGE. These four main systems
are integrated to provide many automatic
functions not present in other softwares.
For instance, a thousand letters of the
same or different text may be printed
NON-STOP. Or, one can just type and print
some data. Or, one may elect to print one
or a thousand labels from the mailing
list; a 1 page or a 100 page document, an
outline, an inventory listing. Smart Text
uses disk as if a whole package of
diskettes are extensions of TS-2068 FREE
Momory. The Smart T6>d: iaaue comes on
either two 40 track diskettes or one 80
track disk and includes a 70 page manual.
$20.00 (postpaid) .
Earlier buyers of Smart Text may want
to combine an order for this Newest
version, which has column printing option,
alternate format for using pre-printed
letterhead stationary, elective for Dot
Matrix or Daisy Wheel printers, FUll Edit
during input typing, mail file sorting,
and postscript option for letters.
Earlier buyers, add only $10.00 to another
disk order to receive this version.
The October 88 "HARTUNG" ISSUE"
This Is for OLIGER DOS ONLY, and is a
collection of 10 "Disk Management"
programs presented in four issues of
UPDATE Magazine. Bob Hartung started with
a early program given by John Oliger and
worked for a year expanding to provide a
most capable disk management system.
Bob named these programs "The DOSDEX"
System. This October 88 UPDATE Magazine
issue documents the last of this
outstanding group of programs. Earlier
magazine issues documents the others.
This disk issue includes all of the DOSDEX
programs on a single disk that will let
you index and manage a complete Diskette
Library, or to re-organize the individual
diskettes, programs, or files, in any
manner that you choose. OR- Each of the
individual programs may be merged to
another program to give that program new
capability. This is an outstanding group
of programs! $20.00
The Apr/ July 88 "MITCHEL DISK" Issue
For Oliger DOS, Larken LKDOS, and Aerco
FD-68. Two UPDATE issues were required to
present the listings and documentation of
Bob Mitchell's excellent HOUSEHOLD BUDGET
software, which is included in this issue
disk. Also included are all of the
utilities given in both the April and July
88 issues. These are; MS-TAS, a utility
that prints out either Mscript or Tasman
Data files "without need for the host word
processor", PEEK VARS utility, some
printer code initialization utilities, a
Disk Menu that can be converted, and
several modified public domain programs.
All of these programs and utilities maxes
out a 40 track disk. $20.00 (postpaid)
UPDATE MAGAZINE
751
ocrcsm 1988
Tl\e Oct 87/Jan 88 "UPDA'IE" Issue
For Oliger DOS, Larken LKDOS, and Aerco
r-I>-68. 'Ihe programs and utilities of the
two first UPDATE issues are consolodated
into one issue disk to give an outstanding
value. The main Software isj
MAIL MERGE, a data base and printing
software to create and print out mailing
lists, inventories, and other data files
that need arrangement in a format of from
one to 7 lines per field. Another data
base "Outline" allows "school and Church"
type outlines to be produced and printed
in indented format for "major topics, and
sub topics". TWo sorting routines allow
sorting by 'first or last* name of the
mailing list. Ihen other nicities, such
as "letter heads" may be printed. The
print products are: Complete print out of
the mailing list, print out of selected
fields, print to labels of the entire list
or individual fields. Ail printing may be
to your elected TAB position, and
formatted to your elected number of lines
between fields. Automatic page control is
optional so that the printing can be
either continuous or under page control.
Two annexes of the Mail Merge program
ai-e included:
"Purity", a program that takes a mailing
list produced by Mail Merge or Smart Text,
and purifies the listing by eliminating
duplicate names and skips in the listing.
PURITY also allows you to break down the
larger listing into smaller groups of mail
files that may be processed by the Stoart
Text software for continuous printing of
automatic personalizes form letters.
"LIST LOOKER", is a program that
supplements both Mail Merge and Smart
Text. LIST LOOKER loads a Mail File,
tells you the Dimension of the Character
array, lets you screen print the listing,
or print the listing to paper. Print out
is to your elected format. Also, Label
Printing is an option.
ALL THREE of the above programs work
automatically in the disk drive
environment and supplement each other.
EXTRA MEMORY UTIUTIESs This disk
contains four utilities given in the
January 88 issue to use with DOa< RAM.
Tliese utilities reconfigure the Home Bank
of memory, MOVES a Basic program from DISK
into DOCK BANK RAM, then moves another
program from disk into HOME BANK, in order
to allow the joint operation of programs
in both Home and Dock banks.
SVllL MORE! Included are 20 sound and
visual utilities to plaggerize and use in
your own programs. Dont worry, VPDATE
gives these 20 utilities to you for that
purpose.
••J-mTLITIES", a group of useful
utilities by UPDATE, crunches numbers and
disassembles memory. One of these
actually uses mixed inputs of Binary, Hex,
and Decimal to multiply/ divide, add, and
subtract, and gives the answers in all
three number bases, (dont believe this one
has ever been done before) .
This great group of software mid
utilities offered for $20.00? Gotta be
kidding, but they are! And, you wont find
them anywhere else. They're exclusive.
About The Issue Disk Program
The UPDATE Software Library will
continue to Ixiild as more issues of the
magazine are published and more
programmers participate. Half of the
proceeds of issue sales go to the
authors of these fine programs. The
other half is absconded by UPDATE
Magazine to pay for the disks, mailing
expenses, and the upkeep of the
corporation's 300' luxury yacht which
plys the seas between Monaco, Aruba,
and Nassau on official business. So
far we have had nothing but praise and
satisfaction expressed by the
purchasers of the issue disks, so with
some trepidation, and a touch of
boldness, we added the comment,
"Unconditionally Guaranteed to Please"
to the sales pitch for the Issue Disks.
Update really wants the issue disk
program to be successful because it
provides our programmers at least SOME
compensation for their work (besides
their personal satisfaction) .
UPDATE MAGAZINE
76
OCTCBER 1988
BBEtnjEk VIP
$'4.95 OCroaER 19
o- SINCLAIR COMPUTERS
ADVERTISING RATE SCHEDULE
effective until July 1989
UPDATE MAGAZINE Is published quarterly each January,
April, July, and October in support of the users and
suppliers of the SINCLAIR QL, SINCLAIR Z88, AND
SINCLAIR-TIMEX TS-2G68.
The following Ad sizes are based upon a page size of 8
1/2 Inches by 11 inches. Ads are black and white only.
Reduction and enlarging capability exists for ads that are
off size. Camera ready copy should arrive at least 15 days
before publishing date.
DISPLAY ADVERTISEMENT RATE SCHEDULE
AD SIZE PRICE
2 pages
1 page
2/3 page
1/2 page
1/4 page
1 /8 page
$220.00
120.00
90.00
65.00
55.00
20.00
(vertical
(vertical
(vertical
(vertical
or horozontal )
or horozontal)
or horozontal)
or horozontal)
Special Placement of full page or double page ads, add
10% and call for reservation (inside front cover, first page,
inside back cover, back cover).
Line ads: 78 characters per line across page, 1 line
minimum, $6.00 per line. Will be type set to Elite 12 Chrs
per line.
Your existing Ad copy for other publications is fine.
Just send copy with instructions for sizing (up, down, or
same). Enhancement of legibility Is usually possible. Draft
quality dot matrix print is not so good.
TERMS; Check Payment with order 10% discount, or
billing on publication date, (no credit cards).
Send Ad copy to: UPDATE MAGAZINE, 1317 Stratford Ave.,
Panama City, FL 32404. Tel 904 871 3556 or 904 9871 4513
77
CX:T0BER 1988
UPDATE MAGAZI^E
. £lLlL£ FP-OQ USERS I
IdM NE^EP yQMF£ HEL.F> !
We're trying to find out if you, the
AERCO FD-68 users of the world, would
be interested in the following items
ADVANCED USER'S GUIDE
FOR THE FD-6B DISK i /F
As we see it, it would be a definitive
guide to the AERCO DOS AERCO never
gave you. It would include many
eicamples of how to implement the
eommands, ege sSAVE, LOAD and MERGE.
It would show how to SAVE arrays/data
and how to use the extra 64K of RAM
that AERCO forgot to explain to you!
There would be a complete appendix and
all items would be cross- referenced.
Ue also anticipate including a section
on the AERCO/ LKDOS cartridge and its
operating system and commands.
I What we NEED to know isT i
Jl> WOULD THIS BE OF INTEREST TO YOU? I
12> WHAT WOULD IT BE WORTH TO YOU? I
I3> WOULD YOU PAY $14.95 FOR IT? |
PLEASE- If you would like to see such
a volume put together, let us know!
Drop a line or call for more info. If
enough interest is shown, IT WILL BE
DONE! The writer is a VERY well-
known writer of software and TS
articles. You won't be disappointed!
i RMG ENTERPRISES \
I 1419 1/2 7TH STREET I
{ OREGON CITY. OR 97045 (503)655-74841
12v
NOTICE TO AERCO FD-6d USERS!!!
Rod Gowen, RMG Enterprises is breaking a leg
trying to support FD-68 users with excellent
software and utilities. NOW Rod is trying to
decide whether there is sufficient interest in
having a detailed manual for the FD-6d. He
MUST have your interest expressed before
spending the money to produce this manual that
all FD-6d users need.
FD-68 WRITER SUPPORT IS
NEEDED
UPDATE Magazine AI^ has
been beating the bushes
TOYING to develop writer
support for the FD-68
users, with only small
success. We NEED writer
support and ask that those
users who are doing such
things as MODBl DOWN LOAD
of CPM programs, and other
FD-68 use, CHIP IN your
knowledge for the good of
all, Aerco FD-68 users
need more interchange of
information. This page in
UPDATE is devoted to
stirring up such an
interchange of programming
tips, DOS extensions,
CPM/RPM, use of FD-68
extra memory, supporting
utilities, etc.
There are many TS-2068
users who spent a lot of
money for the Aerco FD-68
Disk system. We once had
a excellent newsletter
being published in support
FD-68 users. Somehow, the
source of information
dried up. But, there are
several expert programmers
still doing work with the
FD-68. All need your
information published in
UPDATE, Time Designs, and
Syncware news. Lets all
cooperate to re-establish
interest in the FD-68 disk
system.
Ihe first step is to
notify Rod Gowen that you
DO want a good manual
publ ished . Rod ' s effort
to bring this manual isn't
profit motovated, but is
for the good interests of
the user group . (ed) .
UPDATE MAGAZINE
78
OCTOBER 1988
OCrOBER 1988
UPDATE MAGAZItE
ADDITION TO TS-2060 MAIL MERGE (October 1987 UPDATE, OCr87 Issue Disk):
Tlie following annex to Mail Merge was added to print out the categories of
this INDEX after tlie Mail Merge program bad Sorted tlie subjects by title. <G0
TO 6000> prints tlie individual columns.
6000>INPUr "Nbr of Items ";xlt INPUr "INPUT First TAB ";tb!
INPUr "2nd Tab ";tb2
6002 FOR n=l IX) xl: LET m$=o$(n,l): LET y$=o$(n,2)
6004 IF m$(LEN m$)=" " THEN LET m$=m$( TO LEN m$-l): GO TO 6
004
6006 IF y$(LEN y$)=" " THEN LET y$=y$( TO LEN y$-l)! GO TO 6
6008 LPRIMT TAB tb;m$7TAB tb2;y$
6010 NEXT n: STOP
TIP: For all computers that use DIMENSIONED CHARACTER ARRAYS. Is there
one that doesn't? The above routine will be explained. The DATA FILE is
0$(a,b,<J), a three dimensional array, "a" is the number of names in a mailing
list. "b" is tlTe number of information lines. "c" is the number of
ctiaracters reserved for the lines. In the case of the INDEX on the opposite
page, we use tlie first two "b" lines. The first line is the topic and the
second line is tlie page number. We combine these two lines into one for
printing. If direct print of the combined lines is done, the "empty spaces in
tlie dimensioned line" would not allow flexible printing to TAB. GO TO 6000
executes tlie routine.
Line 6000 assigns var xl to tfie number of titles to print, Tlie n counter
is used to count to xl. The data in line 1 is assigned to M$, and the data in
line 2 is assigned to Y$. Line 6004 uses "recursive" programming to trim all
empty spaces from line 1. Line 6006 does the same for line 2. In both
instances, the line loops itself until the IF THEN condition is false, tlien
drops to the next line. Each loop trims one empty space from the data line.
Then line 6008 prints tlie two data lines on one paper line at tab. Line 6008
is adjustable, and could print the data to whatever two TAB positions desired.
Line 6010 <NEXr n> gets the next two lines to process. Approximately one-half
secoiid is consumed while processing each two line group.
Kinda liard to read tliat inset, eh? The manual for the Trump Card is
kinda like that. I've got it figgered that Miracle bunch has a printing
office in Scotland, and you know hiow thrifty the Scots are, eh? Wot? Anyhow,
tlie Trump iianual is just too teenie weenie to read and kompersend. BUT,
ther's lotsa good puddin in the pages that we need to read. In fact iff 'n we
dont be a readin it we wont be a larn'ng it atall. The answer Is to truck it
down to a copy sliop and blow it up exactly 4 times, so's tlie pages comes out 8
1/2 X 11 Indies. That'll cost ya bout $5.00 that tfie Scots saved, and tlien
you can be a learning all about the Trump stuff that you wont unless you do
that.
PAY AlTENnONI Tlie above was throwed in to fill space '
which was an af tertliought. UPDATE ISN*T CASUAL READIN3. What we try to do is
to give you a THREE MONIH project so that when you are about tlirough with one
issue tlie next one hits your mail box. Soraetoimes we mix in bit of Cajun and
Nawrth Flurda Qracker talk when we don no no nuther ways ah tellin at it.
006
TRUMP TIP
UPDATE MAGAZINE
OCTOBER 1988
79
o
n
CD
C/)
< ?
a a.
S > 8
lip, CO
=0 3 SI
5 ^ ~
rn g D
m o TO
^15-
o z. ^
O w (/)
<"
C D)
^ o
^ •
• o
o
3
O
c
en
c
a
C/5
0
S
c
00 ^
2 (0* DO
^ >
9 00 ^
CT
0)
S
n